在Mac OS X 10.6.8中将默认外壳设置为MacPorts bash吗?


11

作为后续行动,我刚才的问题,我重新安装了MacPorts的,想再次尝试的bash的新版本。

我在Mac OS X 10.6.8系统上通过MacPorts安装了最新的bash,但是当我启动Terminal.app会话时,“ sh --version”命令显示我仍在使用旧的bash 3.2.48。即使“哪一拳”指向MacPorts安装的较新的4.2.37,也是如此。

我尝试更改Terminal.app首选项以将新bash用作默认值,更改了/ etc / shells,并使用chsh命令将MacPorts bash指定为默认值。但是,这些方法都没有成功。我想念什么?非常感谢你。


1
因此,您已经破坏了外壳一次,并且想要再次查看如何做?原因which bash显示了较新的shell,但您正在运行较旧的shell,原因是该shell是通过绝对路径(/ bin / bash)启动的,并且不遵循该路径。无论如何都没关系,因为在运行.bashrc之前,该路径不会设置为包括MacPorts。
艾伦·舒特科

Answers:


18

sh --version可能与相同/bin/sh --version。如果当前shell是bash,则可以使用来查看其版本echo $BASH_VERSION。如果使用chsh更改默认登录外壳程序,则可以将Terminal的默认外壳程序保留为登录外壳程序。

  1. sudo port install bash
  2. 添加/opt/local/bin/bash/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. 打开一个新标签并检查 echo $BASH_VERSION

echo $SHELL更清楚地指示哪个shell正在运行。
Victor Sergienko
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.