2016-10-14 11 views
2

我试图使用相对路径作为另一个命令的参数。似乎路径的自动扩展不起作用,因为它是一个字符串。如何将字符串变量传递给cat命令以便解析文件?用作命令参数时,字符串文件路径不起作用

PEM="~/.ssh/my.pem"; cat $PEM 
// cat: ~/.ssh/my.pem: No such file or directory 

PEM=~/.ssh/my.pem; cat $PEM 
// gives key 

回答

4

波浪号(~)扩展不是由壳里面放引号或转义时完成。

PEM=~"/.ssh/my.pem"; cat "$PEM" 

相反,你也可以利用HOME环境变量:

PEM="$HOME/.ssh/my.pem"; cat "$PEM" 
当你把 ~外报价

膨胀发生正确