准备好显示结果

准备好显示结果

这是我的第一个函数:

#!/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 位置参数

相关内容