![错误命令测试 shell linux](https://linux22.com/image/95838/%E9%94%99%E8%AF%AF%E5%91%BD%E4%BB%A4%E6%B5%8B%E8%AF%95%20shell%20linux.png)
您好,我的这段代码有一个错误。我想检查文件是否可读可写,并检查该文件是否包含字符串“/usr/bin/python2”,但 shell 打印此错误:
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