Como escrever um script Bash que aceita opções?

0

Estou escrevendo um script Bash para facilitar o início de um servidor local que uso para fins de teste; Eu não preciso disso correndo o tempo todo, é mais útil para mim começar quando eu preciso.

Neste momento, preciso executar os dois comandos a seguir para iniciá-lo

sudo systemctl start apache2  
sudo systemctl start mysql

e estes para pará-lo

sudo systemctl stop apache2  
sudo systemctl stop mysql

Para facilitar, escrevi um script Bash simples, webserver-start , para iniciá-lo:

#!/bin/bash

#starts the webserver

sudo systemctl start apache2  
sudo systemctl start mysql

E um semelhante para pará-lo.

Gostaria de colocar tudo em um único arquivo de script e usar algumas opções para selecionar se quero iniciar ou interromper (ou mesmo reiniciar) o servidor da Web, algo assim: webserver -s para iniciar, webserver -p para parar e assim por diante.

Como posso modificar meus scripts para que eles aceitem opções diferentes e executem uma tarefa diferente com base neles?

    
por Sekhemty 13.07.2016 / 16:38

1 resposta

4

O que você pode fazer é o seguinte:

web.sh :

#!/bin/bash
systemctl $1 apache2 mysql

O benefício desta solução é que você pode fazer o seguinte:

  • sudo ./web.sh start para começar tudo.
  • sudo ./web.sh stop para parar tudo.
  • sudo ./web.sh restart para reiniciar.
  • E assim por diante ...
por 13.07.2016 / 16:54