我为我最喜欢的编辑器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