我在我的bash腳本,工作不穩定代碼:不穩定的bash聲明
# check every line of check_list file presents in my_prog output
MY_LIST=`./my_prog`
for l in $(cat check_list); do
if ! echo -n "$MY_LIST" | grep -q -x "$l"; then
die "Bad line: '$l'"
fi
done
這一塊我巨大的腳本庫的代碼顯示「壞行:‘smthng’」周圍1/5000的概率。我無法用裸體腳本代表這一事件,只能在我龐大的腳本庫中表現出來。
但是這個代碼看起來做工非常精細:
# check every line of check_list file presents in my_prog output
./my_prog > my_list
for l in $(cat check_list); do
if ! grep -q -x "$l" "my_list"; then
die "Bad line: '$l'"
fi
done
爲什麼我不喜歡第二條語句的原因是,它使用中間文件「my_list」。 什麼可能是第一個陳述不穩定的問題?
comm完美,謝謝!對我的情況的一個評論我使用「comm -23」 – Soid