如何在 Unix Korn 中打印函数内部的参数值 Shell

How to print a value of parameter inside of function in Unix Korn Shell

我正在尝试在函数内打印一个值。但它不起作用;它正在打印变量名。这是我的代码:

#!/bin/ksh
MyVariable=""

function ValidateVariableValue
{
   eval ="Working!"
   echo ""  #Here is printing the value "MyVariable" instead of "Working!"
}

ValidateVariableValue MyVariable

echo "value is: ${MyVariable}" #Here is printing the correct value that is "Working!"

你知道如何打印函数内的值吗?

当您调用您的函数时,位置变量 </code> 被设置为 MyVariable。</p> <p>声明</p> <pre><code>eval ="Working!"

正在创建一个新变量,其名称包含在 </code> 中。在你的情况下,<code>MyVariable.

因此,echo "" 正确打印了 </code> 的值,即 <code>MyVariable。您需要使用 eval 来打印新变量的值:

eval "echo $"

在 Unix 上查看此 post 和 Linux 堆栈交换: