我正在更新我的 .bash_profile,不幸的是,我做了一些更新,现在我得到了:
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found
-bash: dirname: command not found
-bash: /preexec.sh.lib: No such file or directory
-bash: preexec_install: command not found
-bash: sed: command not found
-bash: git: command not found
我的 bash_profile 实际上引入了其他 .sh 文件(来源它们),所以我不确定哪个修改可能导致了这种情况。
现在,如果我尝试列出文件,我会得到:
>ls
-bash: ls: command not found
-bash: sed: command not found
-bash: git: command not found
关于如何追踪错误来源以及如何使用终端执行列出文件等基本操作,有什么提示吗?
答案1
在我看来,您在某些时候会覆盖默认PATH
环境变量。您遇到的错误类型表明PATH
不包含/bin
上述命令(包括bash
)所在的位置。
例如,如果你这样做
PATH=/home/user/bin
代替
PATH="$PATH":/home/user/bin
答案2
开始调试 bash 脚本的一种方法是使用 -x 选项启动子 shell:
$ bash --login -x
这将显示启动该 shell 时执行的每个命令及其参数。
指定 --login 选项是因为 .bash_profile 由登录 shell 读取。有关调试 bash 脚本的更多信息,请参见此处:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html。
最终,我认为一月份的建议对您有用,但该链接值得一读,以解决未来的问题。
答案3
我可能已经找到问题所在了。它对我有用,对你来说可能也有用……
我使用编辑器默认使用 Windows (LF/CR) 保存。由于我使用两个系统,所以这似乎合乎逻辑。当我需要处理时.bash_profile
,我意识到在注释掉并尝试了一些东西后,什么都不起作用。我将保存更改为 OS X 格式(仅 CR),然后就好了!终端中不再出现“未找到命令”!
可能就这么简单!
答案4
我想我可能已经找到了问题的答案,即使对你来说不是,对其他有类似问题的人来说也是如此。我的答案是,我没有.bash_profile
。
所以我在网上搜索,找到了解决方案。基本上就是打开终端,输入touch ~/.bash_profile
并按Enter。这解决了我的问题。希望它对你也有同样的效果