我正在尝试运行一些使用wc
和cat
命令的简单 bash 脚本。脚本失败,如下所示:
wc: command not found
或者这个(在我注释掉使用 wc 的字符串之后):
cat: command not found
我不知道发生了什么。包含完全相同代码片段的类似脚本运行得很好。两个脚本都在相同的条件下使用。此外,
machine:~ user$ which wc
/usr/bin/wc
和
machine:~ user$ which cat
/bin/cat
答案1
正如@Tyson 指出的那样,PATH
变量保存着答案。
我只是想指出,在脚本中使用完整路径通常被认为是一种良好做法。例如,wc
您可能希望调用/usr/bin/wc
而不是 。除了解决上述问题之外,它还更安全,因为您可以防止运行某人可能使用相同名称放入您的 PATH 中的应用程序...我不记得这些攻击的名称,但您明白了=)