【问题标题】:Bourne Shell Script Search for StringBourne Shell 脚本搜索字符串
【发布时间】:2015-12-21 13:18:37
【问题描述】:

在获取脚本以从用户输入的文本文件中查找匹配字符串时遇到问题。没有运气在网上搜索,grep 行似乎不想为我工作,我尝试了多种不同的变体和引号等。关于如何让它工作的任何建议?干杯!

file="/home/Jonnonield/kit104agn2/teledir.txt"

echo "Enter name or number to search directory:"
read nameNumber

if grep -q $namenumber "$file"  ; then
    echo "string found"
else
    echo "not found"
fi

【问题讨论】:

  • 您正在读取变量nameNumber,然后使用完全不同的变量namenumber(中间没有大写字母N)进行grepping。如果您需要更多帮助,请编辑您的问题以包含一些示例输入和预期输出。
  • 并且在调试的时候去掉-q选项去grep。
  • 天哪,我是个白痴,谢谢你指出我的愚蠢
  • 另外,您使用 40 年历史的 Bourne shell 的可能性极小。您更有可能使用它的现代继任者之一(Bash 是最受欢迎的)。在编写 shell 脚本时,不同的 shell 之间存在差异。

标签: string shell grep sh


【解决方案1】:

您正在读取变量 nameNumber,然后使用完全不同的变量 namenumber(中间没有大写字母 N)进行 grepping。 ——埃德·莫顿

【讨论】:

  • 您可能应该投票关闭作为一个简单的错字而不是发布答案(尽管很好的呼吁将其作为社区答案!)
猜你喜欢
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 2013-09-25
  • 1970-01-01
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
相关资源
最近更新 更多