Сделайте некоторое действие, когда некоторая команда будет выполняться!

Я хочу записать сценарий, который может получить каждую команду, вводимую пользователем в терминал, и затем сделать некоторые вещи в зависимости от вводимой команды:

Например:

Если пользователь входит

$> firefox

Я хотел бы автоматически запустить некоторые сервисы такой как

postgresql apache2 и apache-tomcat

Таким образом, я обеспечу названия команды как тестовые сценарии, и затем я могу сделать различные действия!

Как я могу сделать это на человечности?

0
задан 6 February 2014 в 16:20

1 ответ

Например, в случае 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
2
ответ дан 6 February 2014 в 16:20

Другие вопросы по тегам:

Похожие вопросы: