python
だから私はLinuxの経験があり、デフォルトのシェルインタプリタ(またはsh
)の代わりに他のインタプリタ(たとえば)を実行するように端末を変更することができるかどうか常に疑問に思いましたbash
。
(これはただ」ケースの交換はどこですか?「または」cshからbashにデフォルトシェルを変更する方法「所属していない人の運営に関することです。シェル、それ自体だが通訳者。私は仕事をより明確にするためにPythonを例として使用していますが、簡単にphpや他のインタプリタと言うことができます。 )
可能ですか?それではどうすればいいですか?
ベストアンサー1
コメントと最初の答えで述べたようにchsh
。/etc/shells
他のシェル/etc/passwd
(または他のユーザーデータベース)を手動で強制的login
に実行しても(試してみたことはありません)、問題は解決されませんpython
。に記載されています/etc/shells
。
ログインシェルには、主にユーザーエクスペリエンスを設定する特定のタスクがあります。したがって、ログインシェルのみを読み取ることができます/etc/profile
。
可能な妥協
通常のシェルへのリンクを作成できます(シンボルリンクまたはハードリンク、現在はどちらが良いかについてのコメントはありません)。
cd /bin
ln -s bash bash-python
そして、ユーザーのデフォルトシェル/bin/bash-python
に追加してデフォルトシェルに設定します。 (または)/etc/shells
で、その名前でシェルが起動して実行されていることを確認できます。/etc/profile
/etc/bash.bashrc
python
[[ $0 =~ bash-python ]] && exec python
# or
[[ $0 =~ bash-python ]] && python
どちらが良いかはまだ確信できません。おそらくexec
ログインなしのバリエーションかもしれませんが、wtmp
ログインシェルが存在した後にPAMが実行されるかどうかはわかりません。