Итак, допустим, у меня есть команда, foo
, в сценарии, которая имеет как возвращаемое значение, так и выходную строку, которая мне интересна, и я хочу сохранить их в переменной (хорошо наименьший ее вывод для переменной и его возвращаемое значение можно использовать для условного выражения).
Например:
a=$(`foo`) # this stores the output of "foo"
if foo; then # this uses the return value
stuff...
fi
Лучшее, что я могу придумать, чтобы захватить этот вывод, это использовать какой-то временный файл:
if foo > $tmpfile; then
a=$(`cat $tmpfile`)
stuff...
fi
Можно ли как-нибудь это упростить?