为什么路径不能作为$变量工作?

时间:2016-03-14 21:19:58

标签: bash

在我的.bash_profile中我有这一行:

export dl="~/Desktop/Diffs/today.diff"

我使用这个文件作为一个一次性打开快速差异,然后在崇高的一天,我厌倦了写出路径,所以我试着把它变成一个变量。但它不起作用。

如果我写git diff HEAD~ > ~/Desktop/diffs/today.diff,一切都很好。但是,如果我尝试使用git diff HEAD~ > $dl,它会告诉我:

  

-bash:〜/ Desktop / Diffs / today.diff:没有这样的文件或目录

为什么?

1 个答案:

答案 0 :(得分:3)

~ - 扩展不会在引号内发生。你可以通过将~/放在引号之外来解决这个问题:

export dl=~/"Desktop/..."

即使路径包含空格也能正常工作。

在Unix和&amp ;; Linux:Why doesn't the tilde (~) expand inside double quotes?