gpt4 book ai didi

linux - 如何在 unix 中获取变量(参数扩展)的变量值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:13:26 24 4
gpt4 key购买 nike

如何在unix中获取变量的变量值(参数扩展)?

我有一个文本文件(逗号分隔)filename='workdir.txt',我正在用 unix shell 脚本读取它:

$AC_WORKDIR,current,FILE

$AC_WORKDIR,1 week,DIR

等等

$AC_WORKDIR 是环境变量 AC_WORKDIR="/home/ascxd01/data/workdir" 已经定义。

我的代码如下:

filename='workdir.txt'

while read line; do

work_dir=`echo $line | cut -d',' -f1`

echo "$work_dir"

done< $filename

当我执行 echo "$work_dir" 时,它给了我 $AC_WORKDIR 但是我想要 $AC_WORKDIR 的实际值是 “/home/ascxd01/data/workdir”

请告诉我怎么做。

最佳答案

如果您删除前导 $,间接扩展应该可以正常工作,例如。

while read line; do
work_dir=`echo $line | cut -d',' -f1 | tr -d '$'` # delete "$"
echo "${!work_dir}"
done< $filename

链接的答案提供了其他可能不太好的替代方案,例如 eval "echo $work_dir"

关于linux - 如何在 unix 中获取变量(参数扩展)的变量值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57709908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com