안녕하세요, 이 코드에 버그가 있습니다. 파일을 읽고 쓸 수 있는지 확인하고 파일에 "/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