【问题标题】:-bash: ≈: command not found (OS X Terminal Error), How to Fix?-bash:≈:找不到命令(OS X 终端错误),如何修复?
【发布时间】:2014-09-13 22:15:31
【问题描述】:

每当我在 Macbook Air 上启动终端时,我都会收到以下消息:

-bash: ≈: command not found

如何解决此错误?如果有帮助的话,我正在运行 Mavericks 版本 10.9.4。

编辑:通过使用 bash -x 方法修复了这个错误,发现它是一个随机的 '≈' 留在 ~/.profile 中的字符需要删除。感谢您的回答:)

【问题讨论】:

  • 您的某个启动脚本中有错误的命令,例如.bash_profile.bashrc
  • 我在 .bash_profile 或 .bashrc 中都没有看到任何异常,是否还有其他可能导致此错误的原因?
  • set -x 放在每个脚本的顶部。然后它将在执行时显示每一行,然后您将能够看到错误发生的位置。
  • 搜索类似` =` space and =
  • 还查看了错误地以 $ 开头的变量赋值。例如,$JAVA= something$JAVA = something 如果在赋值之前为空/未定义,则会生成错误是 JAVA。

标签: macos bash terminal command


【解决方案1】:

要调试,你可以试试这个:

bash -x -l

-l 可能不需要)。

【讨论】:

  • 同意。改进一点把 #!/bin/bash -x 作为你的 .bash* 文件的第一行
  • @MikeD 我认为这样更好,因为这样我就不必修改 .bash* 文件了。我刚刚使用 -x set 生成了一个新的 bash 会话。
  • @MikeD 无论如何,正确的做法是将'set -x'作为第一行,因为它是源文件,而不是脚本:)
  • 很公平!我想您是在要求提问者直接从 shell 获取 .bash* 文件,这是有道理的。
  • 您甚至可以执行 bash -x ~/.profilebash -x ~/.bash_profilebash -x ~/.bashrc 来查看哪些触发了问题,而无需调用您必须退出的新登录 shell(并且没有弄脏你当前的环境)。唯一的缺点是,如果当前设置了一些在登录时不会设置的变量,在这种情况下需要更精细的工作,但识别错误行的可能性中等到高。
【解决方案2】:

我绝对同意 Barmar 的观点,你的 bash 启动脚本中有一些东西。 没有一个很好的方法来做到这一点,但这里是解决它的协议。

  1. 如果进程挂起,首先使用control + C 终止进程,以确认它是您的 bash 配置文件。然后做一个source ~/.bash_profile 看看你是否得到同样的错误。
  2. 备份您的 bash 配置文件 cp ~/.bash_profile bashprofile.txt
  3. 然后注释掉部分 bash 配置文件。使用文本管理员,您可以执行command + slash
  4. 保存,然后执行source ~/.bash_profile 并查看错误是否仍然打印。
  5. 重复脚本的不同区域,直到隔离受感染区域。

【讨论】:

  • 备份 bash_profile 后,您还可以打开一个终端并输入: open -e .bash_profile 这将在文本编辑器中打开它,您可以使用 # 注释掉有问题的行,然后保存文件。类型: 。 .bash_profile 来更新它。 credit to steps 4 & 5 from this article
猜你喜欢
  • 2018-12-10
  • 2012-01-09
  • 2016-04-11
  • 2015-09-09
  • 1970-01-01
  • 2014-06-08
  • 2012-04-11
  • 2020-02-06
  • 2013-03-10
相关资源
最近更新 更多