如何在任何特定点仅扩展特定的 $variable

问题描述

如何在任何特定点(时间、条件等)仅扩展 bash $variable ? 因为这有效:

 i=1
  u="sum = $i + \$o"
  o=two; n=$(eval echo $u)

均衡到n='sum = 1 + two'

事实上,$(eval echo $) 不适用于复杂的长表达式 上面 u 的实际情况是一些 find 参数,例如 set -x 的输出:

C='( -ipath /home/olive/build/CMakeFiles/* (  ( -type d ( -regex .*\s.* -printf '\''%p/'\''\n -o -printf %p/\n ) -o ( -regex .*\s.* -printf '\''%p'\''\n -o -printf %p\n ) ) ) -o -ipath /home/olive/build/CMakeFiles -type f ( -regex .*\s.* -printf '\''%p'\''\n -o -printf %p\n ) -o -iregex .{17}/.+/CMakeFiles$RP ( -type d ( -regex .*\s.* -printf '\''%p/'\''\n -o -printf %p/\n ) -o ( -regex .*\s.* -printf '\''%p'\''\n -o -printf %p\n ) ) )'

所以 $RP 有很大的需要在一次扩展后进行扩展(如样本中的 $o)

那么如何在任何特定的任意点只扩展一个 bash 变量而不触及 var.坐

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)