programing

bash 스크립트의 다른 명령어로 파라미터를 전송하려면 어떻게 해야 합니까?

kakaobank 2023. 4. 22. 09:49
반응형

bash 스크립트의 다른 명령어로 파라미터를 전송하려면 어떻게 해야 합니까?

bash 스크립트 내에서 제로, 1개 또는2개의 파라미터(스크립트가 인식할 수 있음)를 해석하고 나머지 파라미터를 스크립트에서 호출되는 명령어로 전송합니다.내가 어떻게 그럴 수 있을까?

기본 제공 명령을 사용하여 인수를 "먹습니다".그런 다음 하위 프로세스를 호출하고 인수를 전달하여 나머지 인수를 모두 포함합니다.인용문은 인수목록의 확장을 적절히 인용할 수 있도록 하기 때문에 보관해야 합니다.

Bash는 서브셋 파라미터(서브셋 및 서브스트링 참조)를 지원하므로 다음과 같이 처리/전달할 파라미터를 선택할 수 있습니다.

  1. 새 파일 열기 및 편집: vimr.sh:

    echo "params only 2    : ${@:2:1}"
    echo "params 2 and 3   : ${@:2:2}"
    echo "params all from 2: ${@:2:99}"
    echo "params all from 2: ${@:2}"
    
  2. 실행:

    $ chmod u+x r.sh
    $ ./r.sh 1 2 3 4 5 6 7 8 9 10
    
  3. 결과는 다음과 같습니다.

    params only 2    : 2
    params 2 and 3   : 2 3
    params all from 2: 2 3 4 5 6 7 8 9 10
    params all from 2: 2 3 4 5 6 7 8 9 10
    

bash는 shift 명령을 사용합니다.

예: 시프트 테스트sh:

#!/bin/bash
echo $1
shift
echo $1 $2

시프트 테스트sh 1 2 3 생산

1
2 3

언급URL : https://stackoverflow.com/questions/1537673/how-do-i-forward-parameters-to-other-command-in-bash-script

반응형