Ben*_*min 19 syntax bash tilde-expansion
说我有一个文件夹,名为Foo位于/home/user/(我/home/user也被代表~).
我想要一个变量
a="~/Foo" 然后呢
cd $a
我明白了
-bash: cd: ~/Foo: No such file or directory
但是,如果我这样做,cd ~/Foo它工作正常.有关如何使其工作的任何线索?
bmk*_*bmk 25
你可以这样做(在变量赋值期间没有引号):
a=~/Foo
cd "$a"
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,变量$a不会存储,~/Foo而是扩展形式/home/user/Foo.或者您可以使用eval:
a="~/Foo"
eval cd "$a"
Run Code Online (Sandbox Code Playgroud)
use*_*396 13
您可以使用$HOME代替波浪号(波形符号由shell扩展为内容$HOME).例:
dir="$HOME/Foo";
cd "$dir";
Run Code Online (Sandbox Code Playgroud)