Linux: Неверный вариант read -a
Я нашел ответ на этот вопрос... Просто хочу предоставить некоторую информацию другим, кто тоже встретил эту проблему...
В моей системе я получил эту проблему из-за того, что я использовал sh main.sh
для обработки моей оболочки script и игнорировал разницу между "Bash" и "оболочкой".
Чтобы решить эту проблему, вы можете попробовать изменить режим на исполняемый файл, используя chmod +x
и используя ./
для выполнения программы.
Удачи!
Ответы
Ответ 1
Ошибка:
Illegal option read -a
был показан, потому что вы пытались запустить его в оболочке, где параметр -a
для read
не определен.
команда chmod +x script.sh
не имеет к этому никакого отношения. Он просто предоставляет разрешение на выполнение script.
Вы пытались запустить команду в оболочке Bourne командой sh script.sh
, а у Bourne shell read
нет опции -a
для чтения. Это функция Bash.
Работа с ./
- не совсем ответ. Вы могли бы сказать по крайней мере: запустите его с помощью path_to_the_script
, потому что не каждый раз ваш script окажется в текущем каталоге.
Вы можете запустить его с помощью bash main.sh
вместо sh main.sh
.
Ответ 2
Простой способ покончить с этим - bash script.sh
это сработало для меня.
Кроме того, когда я использовал опцию read -d
, разрешения не было проблемой, но это было с shell
, поэтому я использовал bash script.sh
, который добился цели