【发布时间】: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 之间存在差异。