私の現在のシェルはbashで、kshに変換したいです。 chshまたはypchshを介して変換しようとしましたが、変換する権限がありません。だから私は以下のように.bash_profileを使って変換しようとしました:
$vi .bash_profile
ksh
. ./.profile .
Puttyを再度開くと、.bash_profileが実行され、kshに変更されますが、.profileのエイリアスは解決されません。
答え1
下記の回答をご確認の上、ログインSHELLをご利用ください。
ksh --login
答え2
明らかに、あなたの例では.profile
終了するまでインポートされませんksh
。これがシェルがどのように機能するかです。
私のローカルコンピュータで次のことをしようとしています。
$ cat /home/test/.profile
exec ksh
$ cat ~/.kshrc
echo "commands you need in ksh"
設定ファイルはログイン時に一度だけ読み取るために機能するようです。私はユーザーとしてログインするたびにksh
シェルを使います。tmux
またはでscreen
確認しないでください。
$ ps
PID TTY TIME CMD
9667 pts/1 00:00:00 ksh
9675 pts/1 00:00:00 ps
exec ksh
単純な呼び出しを使用したので、whichの子として実行するのではなく、whichを置き換えるだけksh
です。ksh
bash
ksh
bash
それにもかかわらず、システム管理者または/etc/passwdの設定を更新する権限を持つ人にこれを行うように依頼することをお勧めします。 kshを直接呼び出すときに発生しない特定の設定をbashから継承すると、予期しない問題を回避するのに役立ちます。