我的 bash 脚本中有一个变量,其值如下所示:
~/a/b/c
请注意,它是未扩展的波浪号。当我对这个变量执行 ls -lt(称为 $VAR)时,我没有得到这样的目录。我想让 bash 解释/扩展这个变量而不执行它。换句话说,我希望 bash 运行 eval 但不运行评估的命令。这在bash中可能吗?
我是如何设法在不扩展的情况下将其传递到我的脚本中的?我通过用双引号括起来的参数。
试试这个命令看看我的意思:
ls -lt "~"
这正是我所处的情况。我希望扩大波浪号。换句话说,我应该用什么替换魔法以使这两个命令相同:
ls -lt ~/abc/def/ghi
和
ls -lt $(magic "~/abc/def/ghi")
请注意,~/abc/def/ghi 可能存在也可能不存在。