问题描述
我正在更新.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
关于如何跟踪错误源以及如何将终端用于列出文件等基本内容的任何提示?
最佳解决方案
在我看来,您有时会覆盖默认的PATH
环境变量。您遇到的错误类型表明PATH
不包含/bin
,上述命令(包括bash
)驻留在该位置。
例如,如果您这样做
PATH=/home/user/bin
代替
PATH="$PATH":/home/user/bin
次佳解决方案
开始调试bash脚本的一种方法是使用-x选项启动一个子shell:
$ bash --login -x
这将向您显示在启动该Shell时执行的每个命令及其参数。
之所以指定–login选项,是因为登录 shell 程序会读取.bash_profile。有关调试bash脚本的更多信息,请参见:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html。
最终,我认为一月的建议对您有用,但是对于将来的问题,该链接值得一读。
第三种解决方案
我可能已经找到问题了。它对我有用,也许对你有用…
我的编辑器默认使用Windows(LF /CR)保存。由于我同时使用两个系统,因此看起来很合逻辑。当我需要弄乱我的.bash_profile
时,我在注释掉并尝试了所有无效的东西后才意识到。我将保存内容更改为OS X格式(仅限CR),可惜!在终端中不再有“找不到命令”!
可能就是那么容易!
第四种方案
在我无法re-run之后。 〜/.bash_profile或任何普通命令,例如whoami,grep等。我想出了一种方法来仅将re-export设置为所需路径:
export PATH=/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/cpanel/composer/bin:/usr/local/easy/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin
尽管其中一些路径并非在所有Linux软件包中都存在,但这在大多数系统中都应该起作用。它为我工作。
第五种方案
我想我可能已经找到了问题的答案,如果不是对您,那么对其他有类似问题的人。我对此的回答是,我没有.bash_profile
。
因此,我在网上搜索了所有内容,然后找到了解决方案。这基本上是打开终端,键入touch ~/.bash_profile
,然后按Enter
。那解决了我的问题。希望对你也一样
第六种方案
我有和你一样的问题。当我使用su
登录到根目录时,无法使用许多常用命令(ls
,vi/vim
,..),也无法编辑/root/.bashrc
。
最后。我找到了解决此问题的方法。只需使用命令登录root:
su -m
之后,您可以使用
vim /root/.bashrc
编辑PATH。
祝好运!
第七种方案
我有同样的问题。您在导出PATH时可能错过了$。您应该在TextEdit中打开.bash_profile。如果在目录中找不到该文件,请按Command + Shift +>显示隐藏文件。
然后更正PATH,然后保存。
在终端上的目录中,键入:source .bash_profile。
这样可以解决问题。
参考资料