如何使Bash命令识别“ - ”作为文件名的一部分,而不是一个选项?

时间:2017-10-17 08:39:10

标签: linux bash command-line

  

如何使Bash命令识别“ - ”作为文件名的一部分而不是选项?

我想在Bash中对hex {'-9文件的内容进行hexdump。因此,我使用以下命令:

hexdump -C \-9

在这里,我试图逃离-,就像我逃离一个空间

但是,hexdump会出现以下错误:

hexdump: invalid option -- '9'

即,hexdump将文件名解释为一个选项?

1 个答案:

答案 0 :(得分:1)

我已经能够使用--来标记选项的结尾:

$ echo "test" > -9   # in this case it can't be understood as an option, no problem
$ hexdump -C -- -9   # -- marks the end of the options, so the -9 is understood as a filename
00000000  74 65 73 74 0a                                    |test.|
00000005

这是getopt的特殊性,如its man page中所述。