Shell 脚本中的“-”是什么意思?

Shell 脚本中的“-”是什么意思?

我正在尝试理解我的脚本,其中有一行内容是

cut -d '-' -f 1

我不明白“-”在这里的作用

答案1

cut命令的-d选项允许您指定字段分隔符,因此这将是st - elimitedcut字段。1 -df

$ echo 'foo-bar-baz' | cut -d '-' -f 1
foo

在字符周围使用引号,-大概是为了确保该字符不会被 shell 特殊解释,或者可能是出于编码风格的考虑。然而,这并不是必需的,因为它-在任何 shell¹ 的语法中都没有特殊作用,所以您也可以在这里使用cut -d - -f 1cut -d- -f1

man cut

切割(1)


值得庆幸的是!如果我们必须ls '-l' '-a'在 example 或cut '-d' '-' '-f' 1here 中输入,那就很尴尬了。

相关内容