명령줄에서 bash 기능 실행

명령줄에서 bash 기능 실행

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

관련 정보