我的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可能存在或可能不存在。
foo=~/"$filepath"
或foo="$HOME/$filepath"
dir="$(readlink -f "$dir")"
eval
。