以下突出显示的UNIX命令是什么意思???
grep -n "$string" $filename
if[$? -eq 0] #what does this command mean???
then
echo "string is match"
答案 0 :(得分:0)
不要尝试制作粗体代码(你可以这么做,但很难: if [ $? -eq 0 ]
,缩进也无法正常工作。只需在行{{{{{{{ 1}}。您应该添加缺少的if [ $? -eq 0 ] # What does this line mean?
以获得完整性。
fi
的grep -n "$string" $filename
强>
if[$? -eq 0] # What does this command mean?
then
echo "string is matched"
通过写作获得:
fi
> `grep -n "$string" $filename`
> **`if[$? -eq 0] # What does this command mean?`**
> `then`
> `echo "string is matched"`
> `fi`
是执行的最后一个命令的退出状态,在此上下文中表示$?
。 0表示成功;任何非零状态都表示某种失败。一般而言,退出状态没有标准。 POSIX会对某些命令的退出状态进行立法。例如,对于grep
,它说:
grep
- 选择了一行或多行。0
- 未选择任何行。1
- 发生错误。 如上所述,您的代码片段意味着'执行命令>1
或if[0
,其中包含两个参数if[1
和-eq
。这基本上没有意义,因为不太可能有这些名称的命令。
可能编写的内容使用空格 - 空格在shell中一般都很关键,特别是测试命令:
0]
这意味着'测试if [ $? -eq 0 ]
的值是否为零(这意味着$?
成功执行)。
但是,没有必要使用test命令。脚本可以写成:
grep
如果您不想查看if grep -n "$string" "$filename"
then
echo "string is matched"
fi
的输出,只需获取状态,然后使用grep
代替grep -q
。