0

シェルスクリプトで次の一連のコマンドを実行する必要があります

modprobe nbd
sudo qemu-nbd -c /dev/nbd0 path/to/image/file
sudo mount /dev/nbd0p1 /mnt/temp
python copyFiles.py
sudo umount /mnt/temp
sudo qemu-nbd -d /dev/nbd0
sudo rmmod nbd

これらのコマンドを個別に実行すると正常に機能しますが、シェルスクリプトに入れてそのシェルスクリプトを実行すると、常にmountコマンドでエラーが発生します。

sleep 1だから私は前に投げました、mountそしてそれは期待通りに働きます。

この背後にある理由は何でしょうか?(ある種の非同期呼び出し登録遅延/競合状態?)

4

2 に答える 2

0

マウントエラー:マウントポイント/ mnt/tempが存在しません

したがって/mnt/temp、シェルスクリプトとして実行している場合、ディレクトリは存在しないようです。それを作成するか、マウントコマンドの前のどこかにスクリプトに追加します。

mkdir /mnt/temp 2>&1 /dev/null
于 2012-07-19T17:09:14.947 に答える
0

マウントと前のコマンドの両方に、昇格された特権が必要です。マウントを実行しようとしたときに、前のコマンドのロックがまだ残っているため、エラーが発生しますか?

于 2012-07-19T17:03:33.033 に答える