我爲我最喜歡的編輯器nedit寫了一個簡單的包裝腳本。它將獲取參數列表,並在一個窗口中打開所有非gzip文件,並將每個gzip文件,zcat到一個臨時文件,並在單獨的窗口中打開它們。但是,運行nedit
會導致腳本等待,直到窗口關閉,即使我使用&
或nohup
。我在這裏錯過了什麼嗎?Bash - 在後臺運行程序仍然導致腳本等待
#!/bin/bash
declare -a nongzipped
for file in [email protected]; do
if file $file | grep -q gzip; then
timestamp=$(date +"%F_%T")
tempfile="tmp_$timestamp"
$(zcat $file > $tempfile)
$(nedit -background lightskyblue3 $tempfile &)
$(rm $tempfile)
else
nongzipped+=("$file")
fi
done
if [ ${#nongzipped[@]} -ne 0 ]; then
$(nedit ${nongzipped[@]} &)
fi
您正在過度使用命令替換;它們僅用於捕獲命令的輸出,而不是簡單地運行該命令。 – chepner