
Я очень люблю играть с bash-скриптом. Но я хочу улучшить способ использования bash-скрипта. У меня есть скрипт( nepleaks.sh
), как показано ниже, который я использую во время программирования,
~ 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
Когда мне нужно что-то для clean
моего проекта, я комментирую runApp
и наоборот, а затем стреляю
$./nepleaks
Теперь я хочу изменить это на что-то вроде
$ nepleaks clean or $ nepleaks runApp
Мне не понравилась идея поиска nepleaks.sh
, а затем звонка clean
или runApp
...
Вот одна из прекрасных вещей, которую я использовалhttps://github.com/cosmin/s3-bash/blob/master/s3-get, Я изучаю, но их сценарий показался мне сложным. Они поддерживают что-то вроде ниже,
s3-get -k {accesskey} -s /{path}/{secretid} /{bucketname}
решение1
Попробуй это:
case "$1" in
(clean)
clean
exit 1
;;
(runApp)
runApp
exit 0
;;
(*)
echo "Usage: $0 {clean|runApp}"
exit 2
;;
esac
Теперь вы можете:
$ ./nepleaks clean # only run clean
$ ./nepleaks runApp # only runApp
решение2
$ cat <./nepleaks.sh && chmod +x ./nepleaks
> #!/usr/bin/sh
>
> clean() { ... ; }
> runApp() { ... ; }
>
> ${clean+clean}
> ${runApp+runApp}
...
$ env - clean= ./nepleaks.sh
# ^runs only clean()^ #