我正在尝试理解我的脚本,其中有一行内容是
cut -d '-' -f 1
我不明白“-”在这里的作用
答案1
该cut
命令的-d
选项允许您指定字段分隔符,因此这将是st - elimitedcut
字段。1
-
d
f
$ echo 'foo-bar-baz' | cut -d '-' -f 1
foo
在字符周围使用引号,-
大概是为了确保该字符不会被 shell 特殊解释,或者可能是出于编码风格的考虑。然而,这并不是必需的,因为它-
在任何 shell¹ 的语法中都没有特殊作用,所以您也可以在这里使用cut -d - -f 1
或cut -d- -f1
。
看man cut
值得庆幸的是!如果我们必须ls '-l' '-a'
在 example 或cut '-d' '-' '-f' 1
here 中输入,那就很尴尬了。