powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Не работает оператор выбора case
3 сообщений из 3, страница 1 из 1
Не работает оператор выбора case
    #39822631
Androgen1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь написать скрипт для запуска сервиса. Внутри оператор выбора, который в зависимости от параметра запуска должен выполнить ту или иную команду. Но не работает, причем не отрабатывает даже в простейшем варианте с echo.
Вызываю скрипт так:
Код: javascript
1.
/home/user/test.sh start


но попадаю в ветку else
вывод
Код: javascript
1.
2.
start
serv_name XZ ...


Подскажите пожалуйста что я делаю не так
bash script
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#!/bin/bash
echo $1
SERVICE_NAME=serv_name
case $1 in
   "start")
       echo "Starting $SERVICE_NAME ..."
       fi
   ;;
   "stop")
      echo "$SERVICE_NAME stopped ..."
      fi
   ;;
   "restart")
       echo "$SERVICE_NAME restart ..."
       fi
   ;;
   *)
   echo "$SERVICE_NAME XZ ..."
esac

...
Рейтинг: 0 / 0
Не работает оператор выбора case
    #39822729
Androgen1985
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос снят. причина в пробелах похоже перед параметрами в bash скрипте, после замены на табуляцию все заработало
...
Рейтинг: 0 / 0
Не работает оператор выбора case
    #39823347
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Androgen1985Пытаюсь написать скрипт для запуска сервиса. Внутри оператор выбора, который в зависимости от параметра запуска должен выполнить ту или иную команду. Но не работает, причем не отрабатывает даже в простейшем варианте с echo.
Вызываю скрипт так:
Код: javascript
1.
/home/user/test.sh start


но попадаю в ветку else
вывод
Код: javascript
1.
2.
start
serv_name XZ ...


Подскажите пожалуйста что я делаю не так
bash script
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#!/bin/bash
echo $1
SERVICE_NAME=serv_name
case $1 in
   "start")
       echo "Starting $SERVICE_NAME ..."
 ==>      fi
   ;;
   "stop")
      echo "$SERVICE_NAME stopped ..."
      fi
   ;;
   "restart")
       echo "$SERVICE_NAME restart ..."
       fi
   ;;
   *)
   echo "$SERVICE_NAME XZ ..."
esac



А зачем там fi?
Код: sql
1.
2.
3.
4.
$ bash t.sh 11
11
t.sh: line 7: syntax error near unexpected token `fi'
t.sh: line 7: `       fi'


Видимо Вы что-то не договариваете
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Не работает оператор выбора case
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]