Como escrever um script que executa certos comandos no terminal?

3

Existem certas sequências de comandos que eu geralmente escrevo em um console, uma após a outra, por exemplo

adb devices
adb uninstall com.package.abc
cd myProjectDir
meteor reset
rm -f -r .meteor/local
meteor run android-device

Como posso escrever um script que me permita executar todos (ou pelo menos uma parte) desses comandos em uma linha (por exemplo, ./batchRunMeteor )?

    
por dragonmnl 15.10.2015 / 18:45

1 resposta

2

Três maneiras:

A) execute um certo número de comandos em uma linha, vinculados com ponto e vírgula

adb devices; adb uninstall com.package.abc; cd myProjectDir; meteor reset; rm -f -r .meteor/local; meteor run android-device

Aqui mantive a "intenção" original de execução sequencial simples. Uma recomendação seria executar comandos subseqüentes somente se o (s) anterior (es) foi (m) bem-sucedido (s); isso é realizado com && :

adb devices && adb uninstall com.package.abc && cd myProjectDir && meteor reset && rm -f -r .meteor/local && meteor run android-device

B) crie um alias

alias batchRunMeteor='adb devices; adb uninstall com.package.abc; cd myProjectDir; meteor reset; rm -f -r .meteor/local; meteor run android-device'
# or use the && method:
alias batchRunMeteor='adb devices && adb uninstall com.package.abc && cd myProjectDir && meteor reset && rm -f -r .meteor/local && meteor run android-device'
batchRunMeteor

C) crie um script de shell

cat > batchRunMeteor << EOF
adb devices
adb uninstall com.package.abc
cd myProjectDir
meteor reset
rm -f -r .meteor/local
meteor run android-device
EOF

chmod u+x batchRunMeteor 
./batchRunMeteor 

O script de shell também pode usar && conforme desejado.

    
por 15.10.2015 / 18:53