Я записал сценарий, пока на человечности 12.04.5, которая пробежала прекрасный однако после обновления до 14.04.2 для устранения другой проблемы, у меня теперь есть проблемы со сценарием.
Это останавливается в первом наборе команд, и я, может казаться, не определяю почему; я внес поправки на основе результатов Google однако каждое изменение результаты по большему количеству ошибок.
Часть сценария ее в настоящее время остановка в
#!/bin/bash
V=1.5.4
DELAY=3
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
sleep 5
exit 1
fi
while [[$REPLY != 0 ]]; do
clear
cat <<- _EOF_
Please Select:
1. Menu option 1
2. Menu option 2
3. Menu option 3
4. Menu option 4
5. Menu option 5
6. Menu option 6
7. Menu option 7
0. Exit
_EOF_
read -p "Enter selection [0-7] >"
if [[ $REPLY =~ ^[0-7]$ ]]; then
if [[ $REPLY == 1 ]]; then
Когда я выполняю вышеупомянутое использование сценария sudo ./config.sh
Я получаю ошибку
./config.sh: line 23 [[: command not found
Когда я удаляю дополнительные скобки, я получаю ошибку
./config.sh: line 23: [: !=: unary operator expected
В полном сценарии строка, содержащая, в то время как [[$REPLY != 0 ]]; do
строка 23
Добавление кавычек к $Reply
также результаты по той же ошибке.
Я не понимаю то, что изменилось в ударе начиная с обновления до более нового LTS. Любая справка ценилась бы.
Вы пропустили пространство между [[
и $REPLY
:
while [[$REPLY != 0 ]]; do
должен быть
while [[ $REPLY != 0 ]]; do