繁体   English   中英

如何在shell脚本中创建接收参数的函数?

[英]How to create a function in shell script that receives parameters?

我正在研究一个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)

这只是一个例子,但我认为它已经足够清楚了。

提前致谢。

function display_value() {
    echo "The value is $1"
}

amount=1
display_value $amount
amount=2
display_value $amount

在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM