最佳答案
我在 bash 脚本中有一个变量,它的值是这样的:
~/a/b/c
注意它是未展开的波浪。当我对这个变量(称为 $VAR)执行 ls-lt 操作时,不会得到这样的目录。我想让 bash 解释/展开这个变量,而不执行它。换句话说,我希望 bash 运行 eval,但不运行已计算命令。在 bash 里这可能吗?
我是如何设法在没有扩展的情况下将其传递到我的脚本中的?我用双引号包围它来传递参数。
试试这个命令,看看我的意思:
ls -lt "~"
这就是我现在的处境。我希望波浪能够扩大。换句话说,我应该用什么来替代魔法,使这两个命令完全相同:
ls -lt ~/abc/def/ghi
还有
ls -lt $(magic "~/abc/def/ghi")
注意 ~/abc/def/ghi 可能存在也可能不存在。