如何修改函数中的全局变量并在 Bash 中从函数外部访问它

问题描述 投票:0回答:1

我正在尝试做类似的事情。

#!/bin/bash
readonly bkp_path="x01/trdprod"
bkp_location=" "
bkp_dir=" "

function crt_bkp_dir(){
    bkp_dir=$(read user_input)  ## assume inserted value is test
    bkp_location="$bkp_path/$bkp_dir"
}

function main(){
    crt_bkp_dir
    echo $bkp_location
}

main

我需要获得输出

x01/trdprod/test
。相反,我得到一个空的输出。有人可以告诉我我做错了什么以及如何做正确的事情吗?

linux bash variables scripting
1个回答
0
投票

var1=$(read var2)
var1
设置为 read var2
output
,通常什么都没有(即
var1
最终设置为空白)。

尝试以下操作:

# replace this:

bkp_dir=$(read user_input)

# with this:

read bkp_dir
© www.soinside.com 2019 - 2024. All rights reserved.