![AIX - ユーザーシェルを bash に変更するにはどうすればいいですか?](https://rvso.com/image/1451211/AIX%20-%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%92%20bash%20%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
AIX サーバーにログインしたときに自動的に実行する方法を教えてください。 AIX サーバーにログインするたびにbash
入力せずに実行するにはどうすればよいですか?bash
答え1
通常chsh
は(例えばIBM AIX でのシェルの変更ただし、bash
これらのファイルにリストされていない場合は、ログインが解除される可能性があります。
- /etc/シェルそして
- /etc/security/login.defs
回避策として、シェルのログイン初期化スクリプトを直接実行することができます。たとえば、bash
シェルが の場合、 を変更することでこれが機能します。csh
.login
ログイン シェルが の場合ksh
、これは少し難しくなります。AIX の ksh は.profile
(他のシェルで使用される) を使用し、特別な変数を設定しません。 では、次のようなものが機能する可能性があります.profile
。
[ $SHLVL = 1 ] && exec bash
ksh と bash の両方がこの変数を設定します。1
ログインするとこの変数が設定され、bash に転送すると変数が増加します。
このようなことを実験すると、重要機能的なシェルを持つの上編集内容に問題がある場合に備えて、リモート マシンで別の接続を使用してログインをテストします。
答え2
Thomas がこれを思い出させてくれました。私は複数の AIX サーバーを使用していますが、すべてのサーバーに bash があるわけではありません。ただし、私は bash を好みます。これを自分の .profile に入れました。
case $- in
*i*)
# Interactive session. Try switching to bash.
if [ -z "$BASH" ]; then # do nothing if running under bash already
bash=$(command -v bash)
if [ -x "$bash" ]; then
export SHELL="$bash"
exec "$bash"
fi
fi
esac
答え3
それ以外の場合は、ルート権限で「smitty user」ユーティリティを使用します。
「ユーザーの特性変更」に進み
、ユーザー名を入力して「初期プログラム」フィールドの値を確認します。
ここで、必要に応じて変更できます (/usr/bin/xxxx)。
教育。