终端打开时运行的未知bash脚本?

时间:2012-06-26 08:19:21

标签: macos bash unix terminal

我不确定这里发生了什么 - 我在我的Mac上打开一个终端窗口,看到以下内容:

Last login: Tue Jun 26 00:36:08 on ttys002
-bash: : command not found
-bash: : command not found

在我看来,每当我打开一个新的终端窗口时,正在执行某个文件,但我不知道我是如何找到这个文件的。是否有一些文件列表在终端打开时运行,我可以轻松找到?我很想知道这里发生了什么(以及它是如何产生的)

2 个答案:

答案 0 :(得分:2)

grep Sorry $(grep -l Thank /etc/profile /etc/bash* ~/.bashrc ~/.bash_profile ~/.profile) /dev/null

而且(当你很幸运的话)你会发现ThankSorry这些奇怪命令的位置。

虽然在某些命令替换期间会生成这些行,但这是可能的。 在这种情况下,您将找不到字符串。我建议然后将set -x添加到~/.bash_profile以查找产生这些消息的字符串。

答案 1 :(得分:1)

检查.bashrc.profile.bash_profile。具体来说,我感觉你有一个标有倒置逗号的字符串,然后尝试执行

来自bash手册:

  

当bash被调用为交互式登录shell时,或者作为   非跨          使用--login选项的活动shell,它首先读取并执行com-          来自文件/ etc / profile的mand,如果该文件存在。看完之后          该文件,它查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,          按此顺序,从第一个读取和执行命令          存在且可读。