shをzshに置き換える

shをzshに置き換える

次のコマンドを使用してshをzshに置き換えました。

$ sudo mv /bin/sh /bin/sh1
$ sudo ln -s /usr/bin/zsh /bin/sh
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 12 Jul  6 20:48 /bin/sh -> /usr/bin/zsh
$ which sh
/bin/sh
$ sh
$ exit
$ zsh
mpc% exit

ご覧のとおり、コマンドは接続されていますが、shシェルは開かれません。zsh問題はなぜですか?この問題をどのように解決できますか?

ベストアンサー1

これを行う必要があります。で始まると、sh他のシェルとほとんど互換性があると仮定し、sh互換モードで実行されます。

バラよりhttp://zsh.sourceforge.net/Doc/Release/Initation.html#Compatibility:

Zshは模倣しようとします。シェンまたはケシshまたはそれぞれksh[...]

存在するシェンそしてケシ互換モード以下のパラメータは特別ではなく、シェルによって初期化されません:... prompt、、、PROMPT...

一般的なzsh起動/終了スクリプトを実行しないでください。

as呼び出しが互換モードで動作しない可能性があるかどうかはわかりませんが、これはZsh以外のものを想定しているshシステムの多くのスクリプトを中断する可能性があります。/bin/shsh

おそらく代わりに実行するのが最善ですzsh

おすすめ記事