あまり使用することのないコマンドとかのhelpとかmanで見たりすると「あっこんなオプションあったんだ」って気づくことがある。
今回はログインシェルを変更する時に使用するchsh
例えばhatappi
というユーザーのログインシェルをzsh
に変えるとする。
今までは
# hatappiユーザーにスイッチして $ su hatappi # 新しいシェルの入力を求められるので`/usr/local/bin/zsh`と入力する $ chsh root のシェルを変更します。 新しいシェル [/bin/bash]: /usr/local/bin/zsh
これで次からはzshで起動される
ただこれをMItamaeのようなプロビジョニングツールでやろうってなった時に入力求められる場所どうするんだろう??ってなった
解決方法は当然あるわけでhelpを見ると
※ Ubuntu16.04環境で確認しました
$ chsh -h Usage: chsh [options] [LOGIN] Options: -h, --help display this help message and exit -R, --root CHROOT_DIR directory to chroot into -s, --shell SHELL
-s
でコマンドライン上でログインシェルを指定できるのとオプションの後にユーザーを指定できると
つまり
$ chsh -s /usr/local/bin/zsh hatappi
になる。
簡単