这是我的脚本,我想在文件中查找模式。我知道如果找到模式,grep -q '<Pattern>' '<file>' && echo $?
的退出状态为0。但是我收到 if:表达式语法错误。
if ( (grep -q '<Pattern>' '<file>' && echo $?)==0 ) then
echo "Pattern found"
else
echo "Pattern not found"
endif
答案 0 :(得分:2)
我想你想要这个:
if ( { grep -q '<Pattern>' '<file>' } ) then
echo "Pattern found"
else
echo "Pattern not found"
endif
注意命令周围的花括号以及花括号和命令之间的空格。
请参见man tcsh,表达式:
命令退出状态
可以在表达式中执行命令,并返回退出状态 将其括在大括号('{}')中。记住大括号应该是 与命令的单词之间用空格隔开。