我试图在bash中成功使用以下内容:
mkdir "any dir"
export DIR="any dir"
cd $DIR
它给了我-bash: cd: any: No such file or directory
我知道它适用于
cd "$DIR"
但我不想使用它,因为我不想触摸的大量脚本使用cd $DIR
。
用bash真的没办法实现这个目标吗?甚至Windows提示也可以通过
来实现mkdir "any dir"
set DIR=any^ dir
cd %DIR%
答案 0 :(得分:1)
一种可能的方法是使用[[:blank:]]
而不是像这样的空格:
export DIR='any[[:blank:]]dir'
cd $DIR
现在它可以正常工作,因为shell不会将any[[:blank:]]dir
视为2个不同的参数。
[[:blank:]]
是POSIX属性,匹配空格或制表符。
答案 1 :(得分:0)
只需在"之间添加DIR;字符。
mkdir "any dir"
export DIR="any dir"
cd "$DIR" ## change $DIR to "$DIR"