Ответ 1
LIST="some string with a substring you want to match"
SOURCE="substring"
if echo "$LIST" | grep -q "$SOURCE"; then
echo "matched";
else
echo "no match";
fi
Удачи;)
У меня есть переменная, как показано ниже.
variable = This script is not found
if [[ "$variable" = ~ "not found" ]];
then
echo "Not Found"
else
echo "Its there"
if
при выполнении им получения ниже err,
line 4: syntax error in conditional expression
./test.sh: line 4: syntax error near `found"'
./test.sh: line 4: `if [[ "$variable" = ~ "not found" ]]; '
Может ли кто-нибудь указать мне, что здесь отсутствует?
LIST="some string with a substring you want to match"
SOURCE="substring"
if echo "$LIST" | grep -q "$SOURCE"; then
echo "matched";
else
echo "no match";
fi
Удачи;)
Сравните это с вашей версией в указанных пунктах:
variable="This script is not found" # <--
if [[ "$variable" =~ "not found" ]] # <--
then
echo "Not Found"
else
echo "Its there"
fi # <--
Вы не можете поместить пробелы вокруг = в присваивание, и вам нужно указать строковый литерал с пробелами. Вам не нужен трейлинг; если вы собираетесь положить его на свою линию. И if-then заканчивается на "fi", а не "if".
вот правильная конструкция вашего оператора if
if [[ "$variable" =~ "not found" ]]; then
echo "Not Found";
else
echo "Its there";
fi
Я пробовал ниже коды, которые всегда возвращают одинаковый результат либо в true, либо в false
if [[ "$variable" =~ "not found" ]]; then
echo "Not Found";
else
echo "Its there";
fi