その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

suコマンドでユーザを切り替える時に任意のコマンド実行してからシェルを立ち上げて欲しいんですけどって時

例えば踏み台サーバに個人のアカウントで入ってから,或るuserにsuで切り替わって色々する,みたいなシチュエーションがあると思います.
そんな時に,或るuserにsuする際にあらかじめ任意のコマンドを実行しておいてほしいという時がある.あるのです.

というわけでこうです;

$ su "$LOGIN_USER" -c "$ANY_COMMAND && $LAUNCH_SHELL"

suコマンドの-c (--command) を使うと,そのuserに切り替わってから任意のコマンドを実行することができます.それを利用して「事前実行したい任意のコマンド」を実行してから「実行したいシェル」を起動すると,あたかも事前実行コマンドが実行されてからログインしたように利用できて便利.

取りあえずこれで動く.ヨッシャヨッシャ.