unix expr: синтаксическая ошибка
Почему следующее выражение дает мне выражение: синтаксическая ошибка?
pingval=`expr ping6 -c 1 "$url"`
В основном я хочу использовать значение, возвращаемое вышеупомянутым выражением в другом выражении, например
var=$($pingval|tail -1 ....
Какие-либо предложения?
1 ответ
Почему вы используете expr
совсем? Обычно используется для простых математических / строковых функций.
Вы можете назначить результат (stdout) этого выражения, просто используя обратные пометки или, более современным способом, непосредственно с помощью:
pingval=$(ping6 -c1 "$url" | tail -1)
Если вы хотите создать выражение оболочки перед использованием, попробуйте что-то вроде:
cmd="ping6 -c 1 '$url' | tail -1"
echo cmd | sh