在 OS X 中不小心通过 /bin/bash 复制了文件

abb*_*ood 2 finder terminal bash macos

我错误地复制了两个文件/bin/bash。这现在使我的终端无响应。我已按照教程进行操作,但没有帮助。

\n\n

作为参考,这些文件runcocoa.sh具体runc.sh来自本教程)。我也将它们复制到/usr/local/bin,但后来我删除了它们\xe2\x80\xa6

\n\n

如何恢复系统的功能?

\n

abb*_*ood 5

我转到Terminal \xc2\xbb Preferences \xc2\xbb Startup并将Shells open withDefault login shell更改为Command,并使用另一个 shell(例如,/bin/csh而不是我原来的shell /bin/bash)。

\n\n

这使我的终端再次发挥作用 \xe2\x80\x93 并使用教程,我安装了较新版本的 Bash 来替换/bin/bash我最初覆盖的版本。

\n\n

我剪切并粘贴了这些行:

\n\n
curl -LO ftp://ftp.cwru.edu/pub/bash/bash-4.2.tar.gz\ntar zxvf bash-4.2.tar.gz\ncd bash-4.2\n./configure && make && sudo make install\nchsh -s /usr/local/bin/bash {user_name}\nsudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"\ncd /bin\nsudo mv bash bash-old\nsudo ln -s /usr/local/bin/bash bash\n
Run Code Online (Sandbox Code Playgroud)\n\n

并做了!

\n

  • 我不久前将 `/bin/bash` 升级到 4.2 (Mt. Lion),没有遇到任何问题。我保留了原始版本的备份(当然)以防出现任何问题,但据我所知,4.2 似乎向后兼容得足够好,任何依赖它的系统脚本都没有失败。 (3认同)