
Eu adoro brincar muito com o script bash. Mas quero aprimorar a maneira como uso o script bash. Eu tenho um script( nepleaks.sh
) conforme abaixo usado durante minha programação,
~ 1 clean(){
~ 2 lein clean
+ 3 lein deps
+ 4 }
5
6 runApp(){
7 echo("[info] : make sure you've started neo4j.")
8 #lein run -m nepleaks-engine.core
............
34
35 clean
36 #runApp
Quando preciso do clean
meu projeto, fico comentando runApp
e vice-versa e depois disparo
$./nepleaks
Agora, quero alterar isso para algo como
$ nepleaks clean or $ nepleaks runApp
Não gostei da ideia de terceirizar nepleaks.sh
e depois ligar para clean
ou runApp
.
Aqui está uma das coisas lindas que useihttps://github.com/cosmin/s3-bash/blob/master/s3-get, estou investigando, mas o roteiro deles parecia complexo para mim. Eles apoiam algo como abaixo,
s3-get -k {accesskey} -s /{path}/{secretid} /{bucketname}
Responder1
Experimente isto:
case "$1" in
(clean)
clean
exit 1
;;
(runApp)
runApp
exit 0
;;
(*)
echo "Usage: $0 {clean|runApp}"
exit 2
;;
esac
Agora você pode fazer:
$ ./nepleaks clean # only run clean
$ ./nepleaks runApp # only runApp
Responder2
$ cat <./nepleaks.sh && chmod +x ./nepleaks
> #!/usr/bin/sh
>
> clean() { ... ; }
> runApp() { ... ; }
>
> ${clean+clean}
> ${runApp+runApp}
...
$ env - clean= ./nepleaks.sh
# ^runs only clean()^ #