
動機スーパーユーザー権限なしで、変更された制限値でコマンドを実行するように変更するにはどうすればよいですか?bashシェルで、
exec su $LOGNAME && sleep 100
sleep コマンドは実行されるでしょうか?
exec su $LOGNAME
現在のプロセス内のシェルを別のシェルに置き換えるため、そうではないと思います。新しいシェルを通常どおり終了すると ( の場合&&
)、プロセスが終了し、sleep コマンドを実行するプロセスがなくなります。
ありがとう。
答え1
そうなるはずはありません。 がexec
成功してシェルが置き換えられるか、 がexec
失敗して&&
次のコマンドが実行されないかのどちらかです。ただし、exec somcmd || echo fail
または はexec 2>somefile && echo ok
異なります。
答え2
いいえ、そうではありません。以下を確認してください:
ksh93
$ exec /bin/echo bla && sleep 1 && echo foo
bla
以前のシェルに戻り、exec
ksh93 インスタンスが完全に置き換えられます。