如何从变量Bash中获取路径

时间:2013-07-25 15:32:04

标签: bash

我无法从bash的变量中获取路径。怎么回事? 例如:

my@PC:~$ a="~/.bashrc"
my@PC:~$ cat $a
cat: ~/.bashrc: No such file or directory

没有用,但是

cat .bashrc

cat ".bashrc"

运作良好。


这是来自fedorqui的正确答案

cat $(eval echo $a)

1 个答案:

答案 0 :(得分:3)

问题的原因是,波形符号被shell扩展到主目录。当你将它存储在一个变量中时,代字号不会展开,而cat会在文件夹〜(而不是你的主目录)中查找文件.bashrc

围绕这个问题有两种方法:建议的eval,并使用$ HOME:

a="$HOME/.bashrc"