grep的目的" *"和$ mfile / *

时间:2018-04-07 18:19:14

标签: linux unix grep

第一行和第四行的目的是什么?

 grep "*" /tmp/dirip.$$  
 if [ $? -eq 1 ]  #grep command returns 1 if no output found
 then
    mfile=$mfile/* 
 fi    

1 个答案:

答案 0 :(得分:0)

*在引号之间,因此shell不会将其视为特殊 字符并对其进行文件全局扩展。因为grep没有被告知 要使用扩展正则表达式,它默认(如果它符合POSIX)到基本 正则表达式(BRE)。在BRE中,a *并不特殊 它是正则表达式的第一个字符,就像它在这里一样。 因此模式只查找包含*字符的行。 然后第一行的效果是写入stdout每一行 在/tmp/dirip.$$中有一个*。第一行的目的 更难以辨别。