Linux Shell 脚本 dirname 和 ? 方法?

Elv*_*vin 6 unix linux bash

任何人都可以告诉我这个命令是什么意思吗?

selfDir=$(cd "$(dirname "$0")"; pwd) ?
Run Code Online (Sandbox Code Playgroud)

我知道

  • $0 = 运行脚本名称
  • pwd = 当前工作目录
  • cd = 改变目录

我需要的是dirname是什么?什么意味着最后使这条线完全可以理解。

Vin*_*wan 5

dirname 命令从 NAME 中删除尾随 / 组件并打印剩余部分。如果 NAME 不包含 / 组件,那么它会打印 '.' (表示当前目录)

目录名命令示例:

从绝对路径中删除文件名。

假设我的目录路径是/usr/local/bin/add.sh。现在我想删除/add.sh 并只显示/usr/local/bin,然后我们可以使用dirname 命令。

dirname /usr/local/bin/add.sh
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)

姓名

dirname - 从文件名中去除非目录后缀

概要

dirname NAME 
dirname OPTION 
Run Code Online (Sandbox Code Playgroud)

描述

打印 NAME 并删除其尾随 /component;如果 NAME 不包含 /,则输出 '.' (意思是当前目录)。

编辑: 此外,某些字符在 linux 命令中具有特殊功能?<-- 匹配一个字符

来源