basename的invalid option错误的解决
运行 . tsocks on ,出现错误
basename: invalid option -- b
Try `basename --help' for more information.
于是直接 vi /usr/bin/tsocks,发现首行是 #!/bin/sh,于是运行sh进入sh(刚才是bash),再运行 .tsocks on 就没错了,原来是shell的原因,估计basename默认sh,而现在用bash,有些不兼容。虽然解决了,但这样感觉还是不好,于是继续google。
后来发现是“-”的问题,例如
basename -bash
后就提示无效参数 b
在中间加个 "--" 就好了
basename -- -bash 这样就没问题了
接下来就 vi /usr/bin/tsocks,找到basename,其后果然没“--”,加之,再执行
.tsocks on
就没问题了
NB:basename的作用就是截取全路径中的文件名,去除前缀,例如可从/usr/bin/tsocks返回tsocks。
后记:删除以短斜线“-”开头的文件时也可在文件名前添加一个“--”参数:
rm -- -foo
或者加“./”:
rm ./-foo
此外,删除以“\”开头的文件时,可以:
rm \\foo
Labels: Linux, Operation and Maintenance
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home