在 Bash 脚本中,$0
变量会给出用户输入的脚本名称。例如,如果用户使用以下命令调用脚本foo
:
$ ../bar/foo
...那么在脚本中将$0
是"../bar/foo”
。
然而,在 Windows .bat 文件中,类似的变量%0
及其许多 变体似乎都给出了 bat 文件的子集扩展规范路径— 或者他们在 Windows 11 上这样做。
例如,在上面的例子中,%0
产生了类似于的东西C:\Users\paul\whatever\blah\bar\foo.bat
,而不是..\bar\foo
所需的东西。
了解当前脚本的名称很有用当用户输入时当生成帮助/使用消息以建议替代调用时,例如:
$ ../bar/foo --zonkle
Zonkle is unavailable on this system. Try the wonkle option instead:
../bar/foo --wonkle
$
在 Windows 上这可能吗?