我在 OS X 上使用 GRASS。安装 GRASS 后,我无法再打开终端来显示提示符。
打开终端后,以下行会自动运行
/Applications/GRASS-6.4.app/Contents/MacOS/grass.sh'; exit
GRASS 自行启动。我找不到如何阻止终端执行此操作的方法。
答案1
我不知道终端是否与 Linux 的 shell 类似,但你是否有 .bashrc 或类似的东西,shell 会查看它来加载你的终端会话?/home/{username} 中的 .profile?在你的主目录中的某个“隐藏”文件夹中可能
/Applications/GRASS-6.4.app/Contents/MacOS/grass.sh'; exit
正在躲藏。
答案2
可能发生的情况是 GRASS brew 做了一些愚蠢的事情,并将该行添加到您的~/.bash_profile
或~/.bashrc
或可能是~/.profile
文件的末尾(~
是您的主目录 - 类似于/Users/Willburt
)。不幸的是,我现在不在 Mac 上测试这个,但请尝试打开 Terminal.app,转到“首选项”,然后在“启动”选项卡中选择“使用以下方式打开的 Shell:命令(完整路径)”并输入env - "$(command -v bash)" --noprofile --norc
。这将启动bash
(OSX 上的标准登录 shell),但不会执行我上面提到的任何文件。
进入后,使用/bin/ls -la
列出主目录中的所有文件,包括“隐藏”文件(以 开头的文件.
),并查看您拥有上述哪些文件。使用cat filename
列出文件的内容,并/bin/vi filename
编辑文件以删除有问题的行。如果您以前没有使用过vi
,以下是关键命令:您将以“命令模式”开始,这意味着您可以四处移动,但不能输入任何内容。按i(小写字母 I)进入“插入模式”,使用箭头键移动到您想要的位置,然后将符号#
作为有问题的行的第一个字符,以便下次不会执行它。编辑完成后,按Esc,然后:wq
将文件写入磁盘并退出。请记住,行可能不是
/Applications/GRASS-6.4.app/Contents/MacOS/grass.sh'; exit
确切的说,它可能是类似的东西/usr/local/bin/rungrass
,或者类似的东西。
完成所有这些愚蠢的操作后,关闭会话bash
,返回“首选项”并将其改回以前的设置,然后希望一切就绪。
解决这个问题的另/Applications/GRASS-6.4.app
一种方法是,移动到其他位置,比如桌面,然后就可以像平常一样使用 Terminal.app 来查找和编辑启动文件。你自己选择吧 :)