По сути, вы вызываете мой Bash Script, набирая mybashscript
в консоли. Тогда это начинается:
Welcome to mybashcript! Choose an option (login|logout|view|erase|quit|):
Затем пользователь вводит любой желаемый ввод, который затем активирует скрипт Python ниже в соответствующем дереве каждого параметра.
Что мне интересно, так это как сделать так, чтобы пользователю нужно было всего лишь напечатать (если они уже использовали программу) что-то вроде mybashscript login
или mybashscript view
.
Поэтому любое слово, добавляемое после имени сценария Bash, затем принимается в качестве первого ввода в самом сценарии. Это возможно?
Вот мой сценарий, я не совсем понимаю, как включить $ 1, не давая ему спросить, нет ли аргумента.
#!/bin/bash
echo -n "Hello $USER, welcome to the guestbook! Choose an option (sign|view|save|erase): "
read option
if [ "$option" == "sign" ]; then
python /usr/local/bin/guestbook.data/sign_guestbook.py
elif [ "$option" == "view" ]; then
python /usr/local/bin/guestbook.data/view_guestbook.py
elif [ "$option" == "save" ]; then
python /usr/local/bin/guestbook.data/save_guestbook.py
elif [ "$option" == "erase" ]; then
python /usr/local/bin/guestbook.data/erase_guestbook.py
else
echo "Sorry, I didn't understand that."
fi
shift
удалит $ 1 и сдвинет остальные вниз, $ 2 станет $ 1, $ 3 станет $ 2…