我如何搜索>进入bash脚本

时间:2015-10-21 22:14:55

标签: linux bash

我正在编写一些脚本来创建目录,但我首先要确保用户插入的名称是正确的。对于这个问题,我写了类似下面的内容(FILE.txt是用户名保存的文件)

if grep -q  '>' FILE.txt
  then
  echo "You should avoid inserting ">" in your code!"
  fi

但似乎bash认为我想插入输出,所以它给出了这个错误: -sh:意外令牌`换行符'附近的语法错误 有人有想法吗? tnx寻求帮助

2 个答案:

答案 0 :(得分:5)

问题不在于您的grep行,而在于您的echo行。你的shell认为它是:

echo "You should avoid inserting "  >  " in your code!"

您可以通过删除句子中间的引号或使用单引号来解决此问题:

echo "You should avoid inserting '>' in your code!"

答案 1 :(得分:1)

您必须在echo语句中转义引号:

if grep -q '>' file.txt; then
    echo "You should avoid inserting \">\" in your code!"
else
    echo "code is good"
fi