我遇到了一个非常奇怪的问题,即触摸:未找到命令。
我本来要创建一个空白文件,因此我输入了 touch 命令,但是没有作用。
我正在运行 centOS 5。
有任何想法吗?
顺便说一句:vi 命令也找不到。
答案1
你可能暂时弄乱了你的路径。执行以下操作可能就足够了:
exec /bin/bash
然后您可以尝试touch
等等以确保一切正常。
如果这不起作用,则您的某个系统文件中的 PATH 定义是错误的。
答案2
尝试手动查找该命令。它将是一个名为 touch 的文件,在我当前的系统中它是 /bin/touch。您可以使用locate touch 或 find / -name touch 找到它。如果您使用locate 找到它并且它不在它应该在的位置,则可能意味着它最近被移动或删除了。
找到命令后,使用 echo $PATH 确保它位于您的 PATH 中。如果一切正常,请尝试同时指定路径和命令(即 /bin/touch foo)。您可能还想检查您的别名,看看是否有任何东西弄乱了。
观察一下,您提到 vi 也不起作用。在我的系统中,vi 和 touch 都在 /bin 中,而不是 /usr/bin 中。检查您是否能够从那里运行其他命令。
答案3
我犯了一个错误,在脚本中覆盖了我的 PATH;
while read -r PATH; do
touch "${PATH}";
done < <(git diff-tree --no-commit-id --name-only -r "${COMMIT_ID}")
该read -r PATH
位清除了触摸二进制的路径。
修复方法是简单重命名:
while read -r GIT_PATH; do
答案4
你可能无意中删除了触碰
您可以通过以下方式重新安装复制 来自另一台计算机 到:
/bin/
使用命令:sudo cp path/to/copied/touch /bin