質問: シェルの実行中にユーザ切り替えてコマンド実行 はじめまして。 シェル初心者です。 shell.shをrootユーザでクーロン実行していますが、 shell.shの処理の中で、違うユーザでコマンド実行したいのですが、 可能かどうかも、方法が分かりません。 教えていただけないでしょうか。 環境はlinuxです。 下記のコマンドを実行したいです。 リモートでログインしてコマンド実行結果を取得する ssh -l tomcat server_tomcat grep test /tmp/test.log ※他のユーザでsshを実行してコマンド結果を取得したいです。 以上。宜しくお願い致します。
回答: 同じマシンの違うユーザでコマンド実行するのは下記の様に su の -c オプションで出来ます。 su -l 実行したいユーザ -c '実行するコマンド' ですので、件のsshコマンドを実行したい場合は↓の様になります。 su -l 実行したいユーザ -c 'ssh -l tomcat server_tomcat grep test /tmp/test.log'