Faça alguma ação quando algum comando for executado!

0

Eu quero escrever um script que possa capturar todos os comandos inseridos pelo usuário no terminal e depois fazer algumas coisas dependendo do comando digitado:

Por exemplo:

Se o usuário inserir

$> firefox

Gostaria de iniciar automaticamente alguns serviços, como

postgresql apache2 e apache-tomcat

Então eu fornecerei nomes de comandos como casos de teste e então poderei fazer as diferentes ações !

Como posso fazer isso no Ubuntu?

    
por Null pointer 06.02.2014 / 13:20

1 resposta

2

Por exemplo, no caso de firefox , você pode criar um script de wrapper para isso , chamado firefox e salvo no diretório ~/bin . O wrapper deve ser executável ( chmod +x ~/bin/firefox ) e pode conter as seguintes linhas:

#!/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

Se você quiser fazer as mesmas ações com mais comandos, provavelmente precisará de um script como (vamos chamá-lo de 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
$@

Não se esqueça de torná-lo executável e salvá-lo no diretório ~/bin . Uso no caso de firefox :

start_cmd firefox
    
por Radu Rădeanu 06.02.2014 / 13:37