if grep -q "^127.0.0." <<< "$RESULT"
then
echo IF-THEN
fi
- это Bash -специфическая вещь. Если вы используете другую совместимую с bourne оболочку, попробуйте:
if echo "$RESULT" | grep -q "^127.0.0."
then
echo IF-THEN
fi
Ответ 2
<<< является оператором перенаправления, зависящим от bash (поэтому он не относится к Ubuntu). В документации это называется "Здесь строка", вариант "Здесь документ".
3.6.7 Здесь Строки
Вариант здесь документов, формат:
<<< слово
Слово раскрывается и передается команде на стандартный ввод.
Простой пример:
$ cat <<< hello
hello
Если вы получаете сообщение об ошибке, вполне вероятно, что вы выполняете команду, используя оболочку, отличную от bash. Если у вас есть #!/bin/sh в верхней части вашего скрипта, попробуйте изменить его на #!/bin/bash.
Если вы попытаетесь использовать его с /bin/sh, он, вероятно, предполагает, что << ссылается на "здесь документ", а затем видит неожиданное < после этого, что приводит к сообщению "Ошибка синтаксиса: неожиданное перенаправление", которое вы видя.
zsh и ksh также поддерживают этот синтаксис.
Ответ 3
Это работает для меня на Ubuntu, если я завершу ваш блок IF:
if grep -q "^127.0.0." <<< "$RESULT"; then echo ""; fi