grep \\ $和grep \\\ $之间有什么区别?

时间:2018-04-23 07:11:03

标签: shell unix grep

当我输入grep \\\$ shell时,\$转义并将其转换为\$并发送给grep,后者会找到所有带有美元符号的行{{ 1}}。那很好!

当我输入$时,结果是一样的,我不知道为什么。第一个反斜杠应该逃避第二个反斜杠,但是grep \\$不会被转义,shell应该用空字符串替换它? grep应该收到$并报告错误但是由于某种原因,一切都像第一个例子一样工作..

1 个答案:

答案 0 :(得分:2)

在UNIX shell中,<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E=" crossorigin="anonymous"></script> <form id="createWorksheet"> <div> <div id="qInput1" class="styleOne clonedInput"> <span id="span1Q"> Q1 </span> <input type="text" name="question1" id="question1" /> </div> <div id="aInput1" class="styleTwo"> <span id="span1A"> A1 </span> <input type="text" name="answer1" id="answer1" /> </div> </div> <div class="buttonGroup"> <input type="button" id="btnDel" value="Remove Question" class="btnCreate" /> <input type="button" id="btnAdd" value="Add another question" class="btnCreate" /> </div> <div class="buttonGroup"> <input type="submit" id="btnSub" value="Submit" class="btnCreate"> </div> </form>被shell变量$x的值替换,但当x之后没有任何内容时,则不执行替换。您可以使用$

进行测试
echo

你的两个grep参数作为完全相同的正则表达式传递给grep。

> echo $
$
> echo $x

>