У меня есть этот скриптне найден при сравнении строки
#!/bin/sh
if [ $# -ne 3 ] ; then
echo "param 1, param2, and A or B "
exit 1;
elif [ $# -eq 3 ]; then
if [$3 = "A"] ; then
echo "A"
elif [$3 = "B"]; then
echo "B"
fi
fi
Это в основном проверка если параметр 3 А или В, и сделать эхо. Но она возвращает:
./test.sh: line 6: [A: command not found
./test.sh: line 8: [A: command not found
Я пытался использовать -eq
для сравнения, но он по-прежнему не работает. Как я могу исправить эту проблему?
Вам не нужен 'elif [$ # -eq 3]; затем 'line, как вы знаете, что' $ # 'равно 3 от вашего первого теста. Тогда вы могли бы избежать одного уровня отступа и 'fi', заменяя' if [$ 3 = "A"]; затем '' elif [$ 3 = "A"]; затем'. – jfg956