Я хочу записать сценарий, который может получить каждую команду, вводимую пользователем в терминал, и затем сделать некоторые вещи в зависимости от вводимой команды:
Например:
Если пользователь входит
$> firefox
Я хотел бы автоматически запустить некоторые сервисы такой как
postgresql
apache2
и apache-tomcat
Таким образом, я обеспечу названия команды как тестовые сценарии, и затем я могу сделать различные действия!
Как я могу сделать это на человечности?
Например, в случае firefox
, можно сделать сценарий обертки для него, названным firefox
и сохраненный в Вашем ~/bin
каталог. Обертка должна быть исполняемым файлом (chmod +x ~/bin/firefox
) и может содержать следующие строки:
#!/bin/bash
#let's start some services
sudo service apache2 start
sudo service postgresql start
sudo service apache-tomcat start
#and finally, let's start firefox
/usr/bin/firefox
Если Вы хотите сделать те же действия с большим количеством команд, то, вероятно, Вам нужен сценарий как (давайте назовем его start_cmd
):
#!/bin/bash
if [ $# -eq 0 ];then
echo "Usage: `basename $0` COMMAND"
exit 1
fi
#let's start some services
sudo service apache2 start
sudo service postgresql start
sudo service apache-tomcat start
#and finally, let's run the command
$@
Не забывайте делать это исполняемым файлом и сохранять его в Вашем ~/bin
каталог. Использование в случае firefox
:
start_cmd firefox