Function 如何在函数中指定变量值?unixkornshell

Function 如何在函数中指定变量值?unixkornshell,function,shell,variables,unix,return-value,Function,Shell,Variables,Unix,Return Value,我想给一个变量赋值(它将是不同的变量),但我想用一个函数来实现,就像C#那样“按值传递参数” 下面是我想做的示例: #/bin/ksh MyVariable="" ValidateVariableValue() { ${1}="Working with this!" } ValidateVariableValue "MyVariable" echo "value is: ${MyVariable}" 我希望我的函数接收变量的名称,并在函数内部赋值 有可能吗?有没有类似的方法 谢谢。

我想给一个变量赋值(它将是不同的变量),但我想用一个函数来实现,就像C#那样“按值传递参数”

下面是我想做的示例:

#/bin/ksh
MyVariable=""

ValidateVariableValue()
{
   ${1}="Working with this!"
}

ValidateVariableValue "MyVariable"

echo "value is: ${MyVariable}"
我希望我的函数接收变量的名称,并在函数内部赋值

有可能吗?有没有类似的方法


谢谢。

你可以喜欢这个:

#/bin/ksh
MyVariable=""

function ValidateVariableValue()
{
    eval $1="Working with this!"
}

ValidateVariableValue MyVariable

echo "value is: ${MyVariable}" 

您可以这样做:

#/bin/ksh
MyVariable=""

function ValidateVariableValue()
{
    eval $1="Working with this!"
}

ValidateVariableValue MyVariable

echo "value is: ${MyVariable}" 

我复制了与你相同的代码,但不起作用<代码>语法错误:('unexpected`我必须删除函数上的(),但如果我这样做,它会工作,但如果我这样做,
eval$1=“working”
它会显示“with”未找到我必须承认我没有使用ksh进行测试,但是使用bash和zsh它可以工作,所以如果您像$1=“Working\with\this”?这样转义空格字符会怎么样?是的,正在工作,您必须转义空格。谢谢!很高兴听到这个消息!我复制了与您相同的代码,没有工作…
语法错误:
('unexpected`我必须删除()在函数上,但我遇到了一些问题,如果我这样做,它会工作,但是如果我这样做,它不会工作,如果我这样做,它会显示“with”没有找到,我必须承认我没有用ksh测试,但是用bash和zsh它会工作,那么如果你像这样转义空格字符$1=“working\with\this怎么办?”是的,正在工作,你必须逃离这个空间。谢谢!很高兴听到这个消息!