修正後もなぜ引き続き表示されますかecho $0
?-bash
シェルを次に変更しましたが、zsh
試してもecho $0
「-」が表示されます。
私がしたことは...次を使って利用可能なシェルを確認しました。
cat /etc/shells
/bin/bash /bin/zsh ... が表示されます。
一度chsh -s /bin/zsh
ケースを変えました。
答え1
これまで、chsh
これが実際に何をしているのかを明確に説明する答えやコメントはありません。
chsh
現在のシェルを変更しようとしているようです。習慣。ログインシェルがどのシェルであるか、オペレーティングシステムに通知するいくつかのレコードのみが変更されます。このレコードは、ログインシェルが開始される直前に計算を開始します。現在のシェル(または他の開始シェル)は影響を受けません。他のシェルに変換されず、シャットダウンしたり、他のシェルに置き換えられません。
「ログアウト後に再ログイン」などのソリューションが機能するのは、再ログイン後に必要なログインシェルにアクセスできるためです。ログインシェルを確認して実行するコマンド(選択したものとは無関係にいくつかの固定シェルを実行する代わりに)が解決策になる可能性があります。su
存在するこの他の答えそれが順番です。
答え2
〜のようにケルムそれでも同じユーザー環境にいることを指摘しています。
更新するには、ログアウトして再度ログインする必要があります。または、必要に応じsu
て、次のコマンドを使用して現在のセッションを失うことなく再ログインできます。
su - $USER
そうすれば、あなたecho $0
の意志は正しく機能します。
このセッションを終了すると、exit
前のセッションに戻ります。