AIX - ユーザーシェルを bash に変更するにはどうすればいいですか?

AIX - ユーザーシェルを bash に変更するにはどうすればいいですか?

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)。

教育。

関連情報