반응형
bash 스크립트에서 첫 번째 인수를 제외한 모든 인수를 처리하십시오.
첫 번째 인수가 파일 이름으로 예약되어있는 간단한 스크립트가 있으며 다른 모든 선택적 인수는 스크립트의 다른 부분으로 전달되어야합니다.
Google을 사용 하여이 위키를 찾았 지만 문자 그대로의 예를 제공했습니다.
echo "${@: -1}"
나는 다음과 같이 다른 일을 할 수 없다.
echo "${@:2}"
또는
echo "${@:2,1}"
터미널에서 "잘못된 대체"를 얻습니다.
문제는 무엇이며 첫 번째 인수를 제외한 모든 인수를 bash 스크립트에 어떻게 처리합니까?
이것을 사용하십시오 :
echo "${@:2}"
다음 구문 :
echo "${*:2}"
로하기 때문에, 잘 작동하지만,하지 않는 것이 좋습니다 @Gordon는 이미 설명, 사용하는 것을 *
, 그것은, 공백 하나의 인수로 함께 모든 인수를 실행하는 동안 @
보존 그들 사이의 휴식 시간 (심지어 자신에 공백이 포함 된 인수의 몇 가지 경우 ). 와는 차이가 echo
없지만 많은 다른 명령에 중요합니다.
/bin/sh
시도해 볼만한 솔루션을 원한다면
first_arg="$1"
shift
echo First argument: "$first_arg"
echo Remaining arguments: "$@"
shift [n]
위치 매개 변수를 n 번 이동합니다 . shift
세트의 값 $1
의 값을 $2
, 값 $2
의 값과 $3
의 값을 감소시키는 등, 그리고, $#
하나.
http://wiki.bash-hackers.org/scripting/posparams
그것은 사용 설명 shift
후 (첫 번째 N 매개 변수를 폐기 할 경우) 및 대량 사용을 구현을
반응형
'development' 카테고리의 다른 글
usr / bin / ld : -l을 찾을 수 없습니다 (0) | 2020.02.23 |
---|---|
콘솔에서 AngularJS 서비스를 테스트하려면 어떻게해야합니까? (0) | 2020.02.23 |
WPF 이미지 리소스 (0) | 2020.02.23 |
정수 배열을 ASP.NET 웹 API에 전달 하시겠습니까? (0) | 2020.02.23 |
상각 상각 시간 (0) | 2020.02.23 |