所以这是我的第一个功能:
#!/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
。但我知道这是错误的。
它们显示相同的结果,因为每个函数调用只传递一个位置参数。为了让 mars 成为第二个参数,您需要像这样调用:
位置参数推荐阅读:3.4.1 位置参数