从string / nameonly参数创建变量以在bash中提取数据?

前端之家收集整理的这篇文章主要介绍了从string / nameonly参数创建变量以在bash中提取数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从我的脚本中轻松保存变量名称及其内容.

目前 :-

LOGFILE=/root/log.txt
TEST=/file/path
echo "TEST : ${TEST}" >> ${LOGFILE}

期望: –

LOGFILE=/root/log.txt

function save()
{
    echo "$1 : $1" >> ${LOGFILE}
}

TEST=/file/path

save TEST

显然上面的保存功能只保存TEST:TEST
我希望它保存的是TEST:/ file / path

可以这样做吗?怎么样?提前谢谢了!

您想使用变量间接.另外,不要使用函数关键字,它不是POSIX,也不是必需的,只要你的函数名末尾有()即可.
LOGFILE=/root/log.txt

save()
{
    echo "$1 : ${!1}" >> ${LOGFILE}
}

TEST=/file/path

save TEST

概念证明

$TEST=foo; save(){ echo "$1 : ${!1}"; }; save TEST
TEST : foo

猜你在找的Bash相关文章