非常长路径的bash变量的间接扩展

时间:2017-10-12 12:39:08

标签: bash shell path

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: ''.

1 个答案:

答案 0 :(得分:2)

bash中的变量不会在单引号上展开,您需要对它们进行双引号。

archive_path="${dta_fld}/Archive"

从查看示例代码开始,您似乎没有需要间接扩展的候选项。直接扩展适用于下面的情况,您尝试扩展的变量是预先定义的

foo='bar'
bar='zoo'
printf "%s\n" "${!foo}"