在broadly similar answer,上绘图我想间接扩展路径变量以创建另一条路径。
# Files directory
long_path='/very/long/path/that/I/dont/want/to/type'
archive_path='${long_path}/Archive'
# Print paths
echo -e "Long path: ${long_path}.\nArchive path: '${!archive_path}'."
如下所示,只有正确打印 ${long_path}
。
Long path: /very/long/path/that/I/dont/want/to/type.
Archive path: ''.
答案 0 :(得分:2)
bash
中的变量不会在单引号上展开,您需要对它们进行双引号。
archive_path="${dta_fld}/Archive"
从查看示例代码开始,您似乎没有需要间接扩展的候选项。直接扩展适用于下面的情况,您尝试扩展的变量是预先定义的
foo='bar'
bar='zoo'
printf "%s\n" "${!foo}"