Я хочу сравнить код выхода программы с аргументом. Это то, что я делаю:Что здесь не так? (Сравнение кода выхода)
CODE=$1
if [[ $(./program) -eq $CODE ]]; then
echo "same"
else
echo "different"
fi
Где $1
получает "1"
. Но я получаю сообщение об ошибке. Что здесь не так?
Что ошибка? Попробуйте ./program –
Вы не сравниваете код выхода, вы просто сравниваете вывод из 'program' – anubhava
. Помимо этого: используйте имена нижнего регистра для ваших собственных переменных - имена переменных со значением для оболочки или операционной системы имеют all- имена кепок, поэтому, используя имена all-caps самостоятельно, вы рискуете переписать их по ошибке (особенно, поскольку установка переменной оболочки будет перезаписывать любую переменную среды с похожими именами). См. [Соответствующий стандарт] (http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html). –