以下のコマンドは出力を提供し、端末を終了します。
exec sleep 60
exec pwd
次のコマンドはエラーを発生させます。実行動作に関する提案を提供してください。
$ exec test1.sh
-bash: exec: test1.sh: not found
$ exec cd /home/
-bash: exec: cd: not found
ベストアンサー1
test1.sh
パスにない可能性が高いです。test1.sh
現在ディレクトリにある場合は、次を使用します。exec ./test1.sh
それ以外の場合は、フルパスを指定するか、コマンドをに配置します
$PATH
。cd
は組み込みシェルであり、システムで使用できるこのユーティリティの外部バリエーションはありません。組み込みコマンドではなく外部コマンドに置き換えるようにシェルにのみ要求できます。全く知らない何代わりに試してみてくださいどのように誰でも試してみましたが、何と言えるのかわかりません。
たとえば、中間シェルで二重実行を実行できます。
exec sh -c 'cd /home && exec sleep 60'
これにより、追加のシェルを残さずに
sleep
現在の作業ディレクトリが変更された状態でコマンドが実行されます。/home