【问题标题】:How to print a value of parameter inside of function in Unix Korn Shell如何在 Unix Korn Shell 中打印函数内部的参数值
【发布时间】:2017-09-25 21:27:19
【问题描述】:

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

#!/bin/ksh
MyVariable=""

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

ValidateVariableValue MyVariable

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

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

【问题讨论】:

    标签: function shell variables unix ksh


    【解决方案1】:

    当你调用你的函数时,位置变量$1被设置为MyVariable。

    声明

    eval $1="Working!"
    

    正在创建一个名称包含在$1 中的新变量。在你的情况下,MyVariable

    所以,echo "$1" 正确打印了$1 的值,即MyVariable。您需要使用eval 来打印新变量的值:

    eval "echo \$$1"
    

    在 Unix 和 Linux Stack Exchange 上查看这篇文章:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-29
      • 2016-12-30
      • 1970-01-01
      • 2018-09-25
      • 2017-09-02
      • 2017-11-26
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多