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

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

目前 :-

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

期望: –

  1. LOGFILE=/root/log.txt
  2.  
  3. function save()
  4. {
  5. echo "$1 : $1" >> ${LOGFILE}
  6. }
  7.  
  8. TEST=/file/path
  9.  
  10. save TEST

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

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

您想使用变量间接.另外,不要使用函数关键字,它不是POSIX,也不是必需的,只要你的函数名末尾有()即可.
  1. LOGFILE=/root/log.txt
  2.  
  3. save()
  4. {
  5. echo "$1 : ${!1}" >> ${LOGFILE}
  6. }
  7.  
  8. TEST=/file/path
  9.  
  10. save TEST

概念证明

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

猜你在找的Bash相关文章