腳本 shell 中指令的執行順序

腳本 shell 中指令的執行順序

這是我的腳本 test.sh 的一部分:

#!/bin/bash

tar -cf $name.tar $name && pbzip2 $name.tar
echo "[$1: Waiting..]

拜託,我有個問題。第二條指令「echo」是在建立檔案 .tar.bz2 之後執行的嗎?據我所知沒有。我看到我只有 tar 目錄並且指令 echo 已啟動!

請問有什麼解釋嗎?多謝。

答案1

echo只要先前的打包和壓縮命令未完成

這意味著,在檔案被打包和壓縮之前沒有輸出。如果您希望在啟動和完成時顯示某種輸出,請使用:

#!/bin/bash

echo "[$1: Packing]"
tar -cf $name.tar $name && pbzip2 $name.tar
echo "[$1: Done]"

相關內容