
나는 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()^ #