Я хочу проверить, не прошла ли последняя команда или нет в bash. Я основываю этот мини-скрипт на этом
#!/bin/bash
mkdir nothere/cantcreate
echo $?
if [ $? -eq 0 ]; then
echo "command succeed"
else
echo "command failed"
fi
Это печатает следующее:
mkdir: не может создать каталог nothere / cantcreate: такого файла нет или каталог
1
команда выполнена успешно
Я ожидаю, что она напечатает command failed
, поскольку значение $?
равно 1. Почему равенство не ведет себя как я ожидаю?