Bash 스크립트에서 명령 행 인수를 변경하는 방법이 있습니까?Bash에서 명령 행 인수 변경
./foo arg1 arg2
스크립트 내에서 ARG1의 값을 변경할 수있는 방법이 있나요 : 예를 들어, 배쉬 스크립트는 다음과 같은 방법을 호출라고? 다음과 같이 말하십시오.
$1="chintz"
Bash 스크립트에서 명령 행 인수를 변경하는 방법이 있습니까?Bash에서 명령 행 인수 변경
./foo arg1 arg2
스크립트 내에서 ARG1의 값을 변경할 수있는 방법이 있나요 : 예를 들어, 배쉬 스크립트는 다음과 같은 방법을 호출라고? 다음과 같이 말하십시오.
$1="chintz"
모든 인수를 재설정해야합니다. 예 : $3
:
$ set -- "${@:1:2}" "new" "${@:4}"
기본적으로 당신을 변경하려는 하나 (들)을 제외하고 현재 값에 set모든 인수.
"${@:1:2}"
notation1
오프셋에서 시작 (따라서 표기법 2
) 두 위치 인수 (즉 $1
)로 확장된다. 이 경우 "$1" "$2"
의 줄임말이지만, 예를 들어를 바꿀 때 훨씬 더 유용합니다. "${17}"
.
당신이 경우에 변경되지 않은 스크립트에 입력을 떠나, (나는, input_filename = $1
및 output_filename = $2
또는 무언가를 모르는)보다 의미있는 변수로 $1
및 $2
을 할당하고 해당 변수 (input_filename = 'chintz'
) 중 하나를 덮어 쓰는 것이 더 낫다 그것은 다른 곳에서 필요합니다.
$ 3을 변경하려면 $ 1과 $ 2도 변경해야합니다. 그렇습니까? 그리고 그걸 뭐로 바꾸어? '재설정'의 의미는 무엇입니까? – Sriram
'$ 1'과'$ 2'에는 물론입니다. –
+1 : 아주 멋집니다! – Johnsyweb