Shell脚本函数的参数

4
我正在尝试使用基本的shell脚本,并希望知道如何在可能的情况下执行以下操作:
我已经创建了一个带有函数的基本脚本,当我输入主命令和变量(如名字和姓氏)时,我想调用它。

source ./test.sh; talk $John $Smith

  function talk($firstName, $lastName)
{
        echo "hi! ${firstName} ${lastName}"
}

我似乎无法使它起作用,不确定哪里出了错,我已经尝试阅读相关资料,但感到困惑。


顺便提一下 - function 关键字不是 POSIX 标准函数声明语法的一部分;它是 ksh 扩展,被 bash 采用(不能保证在 /bin/sh 中支持,甚至在支持它的 shell 中使用也不一定是个好主意)。请参阅 http://wiki.bash-hackers.org/scripting/obsolete - Charles Duffy
1个回答

5
这是不必要的。
talk()
{
   echo "hi! $1 $1"
}

定义了函数。在源代码中,您可以使用以下方式调用它:

talk Hans Peter

在sh中,变量不是以前缀$声明的,但可以通过这种方式访问:

a=5
echo $a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接