我没有成功的MacPorts我的Bash更新到3.2.48更新我在Mac猛砸。无法通过MacPorts的
看来,我没有激活它,因为我得到
echo $BASH_VERSION
3.2.17(1)-release
你怎么能做出最新猛砸活跃这样,我得到它我的登录shell?
我没有成功的MacPorts我的Bash更新到3.2.48更新我在Mac猛砸。无法通过MacPorts的
看来,我没有激活它,因为我得到
echo $BASH_VERSION
3.2.17(1)-release
你怎么能做出最新猛砸活跃这样,我得到它我的登录shell?
运行下面的代码,例如改变通过MacPorts的
chsh -s /opt/local/bin/bash
如果给你的讯息安装在外壳到最新猛砸,
"
non-standard shell
"
,你将需要添加
/opt/local/bin/bash
到
/etc/shells
注意/etc/shells
只是一个文本文件,所以你可以,如果你以root身份直接进行编辑。您编程可以通过命令来改变它
sudo -s
Password:
# echo /opt/local/bin/bash >> /etc/shells
如果你的第一chsh命令失败,如果你设法改变上述文件现在再次运行。
如果遇到运行的端口的应用程序的问题,你可以额外需要更新您的bash配置文件。有关更多信息,请参阅http://superuser.com/a/366645/114131。 – 2012-12-30 12:06:04
注意,一个可能需要重新排序在`/ etc/shells`的条目,使得新的`bash`位置之前其他的,一切正常工作。 – DilithiumMatrix 2013-06-13 17:19:19
@ zhermes:不正确。在/ etc/shells中的顺序对任何内容都没有影响。 – Noldorin 2013-12-09 22:50:34
我猜它的安装,但不作为你的登录shell。
您可以使用命令行DSCL更换的外壳。
在DSCL提示符下键入以下内容:
list Local/Default/Users
read Local/Default/Users/<your username here>
change Local/Default/Users/<your username here> UserShell /bin/bash /opt/local/bin/bash
我已在blog它是否有助于DSCL使用的另一个例子。
您可以将您的登录shell,从现有的Mac OS X登录shell(默认情况下它/bin/bash
附带的Mac OS X),以MacPorts的/opt/local/bin/bash
只需使用下面的shell脚本:
#!/opt/local/bin/bash
if [ `grep /opt/local/bin/bash /etc/shells` ];
then
echo /opt/local/bin/bash | chsh -s /opt/local/bin/bash;
else
echo /opt/local/bin/bash | sudo tee -a /etc/shells;
chsh -s /opt/local/bin/bash;
fi
哇,我甚至没有意识到我没有使用更新的shell。谢谢! – Schwern 2009-04-26 21:28:41