я могу запустить эту команду штраф, с выходом я хочу:Bash проблема сценария
ifconfig eth0 | grep HWaddr | awk '{print $5}'
Однако, когда я поставил команду на переменную, и напечатать переменную, я получаю сообщение об ошибке:
CASS_INTERNAL=`ifconfig eth0 | grep HWaddr | awk '{print \$5}'`
$CASS_INTERNAL
my internal xxx ip: command not found
странная вещь - мой внутренний IP на самом деле показывает вверх. Как мне обойтись без ошибок? Это не имеет значения, но я использую последнюю версию Ubuntu.
Используя обратные кавычки (т.е. ') окружающий команда фактически выполняет его. Таким образом, вы выполняете команду в первой строке и сохраняете результат в CASS_INTERNAL. Как говорит Wikken, вы просто хотите вернуть результат с помощью «echo». Альтернативой было бы сохранить текст команды в CASS_INTERNAL (используя двойные кавычки, а не backquotes) и выполнить его, используя просто $ CASS_INTERNAL. В вашем примере вы выполняете его с использованием backquotes в первой строке и снова во второй строке, используя $ CASS_INTERNAL. – xagyg