こんにちは、このコードにバグがあります。ファイルを読み書きできることを確認し、ファイルに "/usr/bin/python2"文字列が含まれていることを確認したいが、シェルから次のエラーが表示されます。
grep /usr/bin/python2
この問題をどのように解決できますか?
if test -f $i -a test -w $i -a `grep /usr/bin/python2 < $i`
then
echo $i
fi
答え1
if test -r "$i" -a -w "$i" && grep -q "/usr/bin/python2" "$i"
then
echo "$i"
fi
if文全体を避け、grepを介して暗黙的に読みやすさを確認することもできます。
test -w "$i" && grep -l "/usr/bin/python2" "$i" 2>/dev/null