我无法从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)
答案 0 :(得分:3)
问题的原因是,波形符号被shell扩展到主目录。当你将它存储在一个变量中时,代字号不会展开,而cat会在文件夹〜(而不是你的主目录)中查找文件.bashrc
围绕这个问题有两种方法:建议的eval,并使用$ HOME:
a="$HOME/.bashrc"