Почему мой код не выводится, если введенная строка отсутствует в файле. Когда я ввожу строку, а ее нет в файле, ответ не возвращается, он возвращается к началу. Может кто-нибудь сказать мне, что не так с моим кодом?
while :
do
echo "Please enter a string"
read input_string
echo "Please enter the file name too see if that string is present in it - (Enter .abw after)"
read input_string1
if grep -q $input_string $input_string1 ; then
echo "Your string has been found"
fi
done
shell-script
Адам Пойсер
источник
источник
input_string
кстати, на самом деле не говорящее имя переменной :)Ответы:
источник
-v
или в имени файла будут пробелы.Вы выяснили свою недостающую ветку else, но есть одно предложение:
вместо использования
$input_string $input_string1
попробуйте${input_string} ${input_string1}
просто убедиться, что вы не получите$input_string
1.источник
$input_string1
это значение переменнойinput_string1
(split и globbed, поскольку оно не заключено в кавычки), оно не включает переменнуюinput_string
.