我正在研究一个shell脚本,我有一些重复的代码行(复制粘贴,让我们说)。
我希望这些行在函数中。使用的正确语法是什么?
为了让这些函数接收参数,我做了什么改变?
这是一个例子。
我需要转过身来:
amount=1
echo "The value is $amount"
amount=2
echo "The value is $amount"
这样的事情:
function display_value($amount) {
echo "The value is $amount"
}
amount=1
display_value($amount)
amount=2
display_value($amount)
这只是一个例子,但我认为这很清楚。
提前致谢。
答案 0 :(得分:15)
function display_value() {
echo "The value is $1"
}
amount=1
display_value $amount
amount=2
display_value $amount
答案 1 :(得分:14)
在shell脚本中,函数可以接受任意数量的输入参数。 $ 1代表第一个输入参数,$ 2代表第二个输入参数,依此类推。 $#返回函数接收的参数数量,$ @按顺序返回所有参数,并用空格分隔。
例如:
#!/bin/sh
function a() {
echo $1
echo $2
echo $3
echo $#
echo $@
}
a "m" "j" "k"
将返回
m
j
k
3
m j k