我的bash脚本中有一个变量,其值如下所示:
~/a/b/c
Run Code Online (Sandbox Code Playgroud)
请注意,它是未扩展的波形符号.当我对这个变量执行ls -lt(称之为$ VAR)时,我没有这样的目录.我想让bash解释/扩展这个变量而不执行它.换句话说,我希望bash运行eval但不运行evaluate命令.在bash中这可能吗?
我是如何在不扩展的情况下将其传递到我的脚本中的?我用双引号传递了围绕它的论点.
试试这个命令看看我的意思:
ls -lt "~"
Run Code Online (Sandbox Code Playgroud)
这正是我所处的情况.我想要扩展代字号.换句话说,我应该用什么来代替魔法来使这两个命令相同:
ls -lt ~/abc/def/ghi
Run Code Online (Sandbox Code Playgroud)
和
ls -lt $(magic "~/abc/def/ghi")
Run Code Online (Sandbox Code Playgroud)
请注意〜/ abc/def/ghi可能存在也可能不存在.