基本名称“$0”不起作用

Ale*_*lls 3 osx basename

我有这个命令:

 base_name="$(basename "$0")";
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

basename: 非法选项 -- b

用法:basename string [suffix] basename [-a] [-s suffix] string [...]

有谁知道这是怎么回事?

Jef*_*ler 7

我的幸运猜测是$0包含字符串-bash,因此您的命令变为:

basename -bash
Run Code Online (Sandbox Code Playgroud)

basename解释为单字符选项“b”。将其更改为:

base_name="$(basename -- "$0")";
Run Code Online (Sandbox Code Playgroud)

......所以basename被告知停止寻找选择。

  • @AlexanderMills 任何 Unix。 (4认同)