Program Tip

Bash : 첫 번째 명령 줄 인수를 취하고 나머지는 전달

programtip 2020. 11. 18. 09:38
반응형

Bash : 첫 번째 명령 줄 인수를 취하고 나머지는 전달


예:

check_prog hostname.com /bin/check_awesome -c 10 -w 13

check_remote -H $HOSTNAME -C "$ARGS"
#To be expanded as
check_remote -H hostname.com -C "/bin/check_awesome -c 10 -w 13"

위의 내용이 이해되기를 바랍니다. 약 20 개 이상의 명령에 대해 이것을 사용하므로 인수가 변경됩니다. 프로그램을 래핑하는 이상한 방법이지만 여기에서 사용하는 몇 가지 시스템의 몇 가지 문제를 해결합니다 (70 년대의 코드를 좋아합니다).

위의 내용은 perl 또는 python으로 작성할 수 있지만 Bash가 선호되는 방법입니다.


시프트 를 사용할 수 있습니다

shift는 위치 매개 변수에서 작동하는 쉘 내장입니다. shift를 호출 할 때마다 모든 위치 매개 변수를 하나씩 "이동"합니다. $ 2는 $ 1이되고, $ 3은 $ 2가되고, $ 4는 $ 3이됩니다.

예:

$ function foo() { echo $@; shift; echo $@; } 
$ foo 1 2 3
1 2 3
2 3

참고 URL : https://stackoverflow.com/questions/10569198/bash-take-the-first-command-line-argument-and-pass-the-rest

반응형