이것이 나의 첫 번째 기능입니다.
#!/bin/bash
lets_print () {
echo hello $1
}
lets_print Earth
lets_print Mars
결과 표시 준비 완료
user@bash$ ./demo.sh
Hello Earth
Hello Mars
이것이 나의 두 번째 기능입니다.
#!/bin/bash
lets_print () {
echo hello $1 $2
}
lets_print Earth
lets_print Mars
두 번째 결과 표시를 준비합니다.
user@bash$ ./demo.sh
Hello Earth
Hello Mars
누군가 왜 동일한 결과가 나오는지 설명할 수 있습니까?
이제 나는 $1=Earth
그리고 에 대해 생각하고 있습니다 $2=Mars
. 하지만 나는 이것이 잘못된 것임을 압니다.
답변1
함수 호출당 하나의 위치 인수만 전달되기 때문에 동일한 결과를 보여줍니다. mars를 두 번째 인수로 만들려면 다음과 같이 호출해야 합니다.
lets_print Earth Mars
위치 매개변수에 대한 권장 자료:3.4.1 위치 매개변수