動機スーパーユーザー権限なしでコマンドが変更された制限値で実行されるようにどのように変更しますか?、bashシェルで実行すると
exec su $LOGNAME && sleep 100
睡眠コマンドは実行されますか?
exec su $LOGNAME
現在のプロセスのシェルは他のシェルに置き換えられるため、そうは思いません。新しいシェルが正常に終了すると(for &&
)、プロセスは終了し、どのプロセスも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インスタンスを完全に置き換えて古いシェルに戻ります。