Bash
函式和傳遞參數
所以這是我的第一個功能:
#!/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 成為第二個參數,您需要像這樣呼叫:
lets_print Earth Mars
位置參數推薦閱讀:3.4.1 位置參數