필자는 bash 스크립트로 작업을하고있었습니다. 이 간단한 스크립트를 만들었습니다.함수에 위치 매개 변수를 전달하는 방법
#!/bin/bash
function myfun()
{
for item in `seq 1 5`
do
echo "$item $1 $2"
done
}
myfun
행운은 없습니다. 아래와 같이 변경하면 모든 것이 정상적으로 처리됩니다.
#!/bin/bash
a=$1
b=$2
function myfun()
{
for item in `seq 1 5`
do
echo "$item $a $b"
done
}
myfun
쉘에서 함수 내에서 인수 (위치 매개 변수)가 작동하지 않는 것처럼 보입니다. 내가 실수 한거야? 나는 아직도 것을 배우고있다. 왜 그렇게 설명 할 수 있니?
는 루프 아니다 - 그것은 기능입니다. 함수 $ 1과 $ 2는 함수의 매개 변수를 나타내며 스크립트의 매개 변수는 참조하지 않습니다. –