【问题标题】:Passing a variable between two function在两个函数之间传递一个变量
【发布时间】:2018-09-13 17:54:25
【问题描述】:

在我的 bash 脚本中,我尝试将一个变量从函数 (function_2) 传递给函数 (function_1),不幸的是我没有找到正确的方法:(
我在互联网上搜索,但一直使用不同的语言(ruby、python 等)我尝试做同样的事情但没有成功:(

function_1(){
   echo "The value of : $VAR in function_2"
}


function_2(){
   echo "the value of var if function_1 is : $VAR "
   function_1
}

while getopts s: opt; do
    case $opt in
        s) VAR=$OPTARG
           function_2
           ;;
    esac
done  

【问题讨论】:

    标签: bash shell


    【解决方案1】:

    您可以在调用 function_1 时将变量作为参数传递给函数,例如:

    function_1(){
       VAR=$1
       echo "The value of : $VAR in function_2"
    }
    
    
    function_2(){
       echo "the value of var if function_1 is : $VAR "
       function_1 $VAR
    }
    
    while getopts s: opt; do
        case $opt in
            s) VAR=$OPTARG
               function_2
               ;;
        esac
    done  
    

    请注意,您可以直接在 function_1 中以 $1 的形式访问传递的变量,而无需将其分配给 VAR

    【讨论】:

      【解决方案2】:

      bash 中作为参数传递给函数的参数可以通过$1$2...访问。

      function_1() {
         echo "The value of passed parameter in function_2 is: $1"
      }
      
      
      function_2() {
         echo "the value of var in function_1 is: $VAR"
         function_1 $VAR
      }
      
      while getopts s: opt; do
          case $opt in
              s) VAR=$OPTARG
                 function_2
                 ;;
          esac
      done
      

      【讨论】:

        猜你喜欢
        • 2019-09-12
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 2017-10-16
        • 1970-01-01
        • 2023-01-19
        • 1970-01-01
        • 2019-06-28
        相关资源
        最近更新 更多