2015-06-14 3 views
1

Я пытаюсь создать сценарий меню, который будет выполнять команду при выборе этой опции. Это то, что у меня есть до сих пор.Создание сценария меню

#!/bin/bash 

PS3='Please enter you choice: ' 
options=("Option 1 - File Directory?" "Option 2 - Run MyScript?" "Option 3 - ?" "4 - Quit") 
Select opt in "${options[@]}" 
do 
     case $opt in 
      "Option 1 - File Directory?") 
       echo "you chose option 1" 
       ;; 
      "Option 2 - Run MyScript?") 
       echo "you chose option 2" 
       ;; 
      "Option 3 - ?") 
       echo "you chose option 3" 
       ;; 
      "Quit") 
       break 
       ;; 
      *) echo invalid option;; 
     esac 
done 
+0

Посмотрите на http://www.shellcheck.net/ – Cyrus

+0

измените 'Select' на' select' и '" Quit "' to '" 4 - Закройте "' или иначе – Jahid

+0

Мне нужно, чтобы скрипт был отобразить текущий каталог, если выбрана опция 1, а также запустить сценарий оболочки, который я создал, если выбран вариант 2. Как это сделать и/или какие команды? –

ответ

1

Изменение Select в select и "Quit" к "4 - Quit" внутри case или иначе.

Ваш код отредактирован:

PS3='Please enter you choice: ' 
options=("File Directory?" "Run MyScript?" "?" "Quit") 
select opt in "${options[@]}" 
do 
     case $opt in 
      "File Directory?") 
       echo "you chose option 1" 
       ;; 
      "Run MyScript?") 
       echo "you chose option 2" 
       ;; 
      "?") 
       echo "you chose option 3" 
       ;; 
      "Quit") 
       break 
       ;; 
      *) echo invalid option;; 
     esac 
done 

Вы можете проверить на наличие ошибок в сценарии оболочки with shellcheck.

Смежные вопросы