gpt4 book ai didi

linux - Bash:无效的命令

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:35 38 4
gpt4 key购买 nike

我的 bash shell 遇到了一个令人担忧的问题。我在编辑我的 bash_profile 时不小心导出了一个不完整的命令 (export PATH=/usr/local/bin)。在我重新加载终端后,几乎所有的 bash 命令都无法正常工作。当我尝试运行其中任何一个时,错误状态为:command not found

我该如何解决这个问题?是否有其他方法可以打开或查找我的 bash_profile

如果我能立即就此问题提供意见,我将不胜感激。提前谢谢你。

最佳答案

可以执行命令如果您可以提供目录名称。几乎所有基本的 Unix 命令都在 /bin/usr/bin 目录下。例如,/bin/mv

幸运的是,内置命令仍然可以识别。

暂时将您的 .bash_profile.bashrc 文件移开,看看系统默认值是什么。

您可以在命令行上手动编辑您的 PATH 以:

$ PATH="/bin:/usr/bin"
$ cd
$ mv .bash_profile .bash_profile.bak
$ mv .bashrc .bashrc.bak
$ mv .profile .profile.bak
$ mv .bash_login .bash_login.bak

注意:其中一些 mv 命令可能会失败,因为该特定文件可能不存在。

这将使您能够访问大多数基本的 Unix 命令。或者您可以指定带有完整目录名称的命令:

$ PATH="/bin:/usr/bin"
$ cd
$ /bin/mv .bash_profile .bash_profile.bak
$ /bin/mv .bashrc .bashrc.bak
$ /bin/mv .profile .profile.bak
$ /bin/mv .bash_login .bash_login.bak

现在,再次登录并查看您的默认 $PATH 设置的内容。这是由 /etc/profile 设置的。您可能会发现这很好,并删除启动脚本中的设置 PATH

PATH 的标准是这样的:

  • /usr/share/bin/usr/local/bin - 它们包含非标准的 Unix/Linux 命令。例如,如果您在系统上安装了 Maven,mvn 命令通常位于这些目录之一(可能是符号链接(symbolic link))。该目录是存放/bin/usr/bin目录下没有的命令的地方。这个目录是第一个,因此您可以用更新的版本替换系统附带的版本。例如,我可能安装了 VIM 6.4,但我想改用 7.3 版。
  • /bin:/usr/bin - 99% 的 Unix 命令所在的标准目录。
  • $HOME/bin - 这些是您编写的可执行文件——脚本或二进制文件。这是在 PATH 列表的末尾,因为它确保您不会意外执行错误版本的命令。想象一下,如果某个 clown 写了一个名为 cp 的 shell 脚本,它执行 /bin/rm 并将其放在您的 $HOME/bin 目录中。

您将看到的其他目录可能包括 /sbin//usr/sbin,它们是管理员命令(ping ifconfig 有时在这些目录之一中。) /opt/bin/X11 (或存储 X11 二进制文件的任何位置)。有时其他命令会与您的 PATH 混淆,例如 Perlbrew .

关于linux - Bash:无效的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24260487/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com