我有一个主文件,它使用(从主要我做一个源)一个属性文件,其变量指向路径.
属性文件如下所示:
TMP_PATH=/$COMPANY/someProject/tmp
OUTPUT_PATH=/$COMPANY/someProject/output
SOME_PATH=/$COMPANY/someProject/some path
Run Code Online (Sandbox Code Playgroud)
问题是SOME_PATH,我必须使用带空格的路径(我不能改变它).
我尝试用引号转义空白,但到目前为止还没有解决方案.
我编辑了路径,单引号的问题是我$COMPANY在路径中使用另一个变量
Igo*_*bin 73
使用以下三种变体之一:
SOME_PATH="/mnt/someProject/some path"
SOME_PATH='/mnt/someProject/some path'
SOME_PATH=/mnt/someProject/some\ path
Run Code Online (Sandbox Code Playgroud)
Tom*_*rka 39
我看到费德里科你自己找到了解决方案.问题出在两个地方.在您的情况下,分配需要适当的引用
SOME_PATH="/$COMPANY/someProject/some path"
Run Code Online (Sandbox Code Playgroud)
是一种可能的解决方案.
但是在shell中,这些引号不会存储在内存中,因此当您想要使用此变量时,需要再次引用它,例如:
NEW_VAR="$SOME_PATH"
Run Code Online (Sandbox Code Playgroud)
因为如果没有,空间将扩展到命令级别,如下所示:
NEW_VAR=/YourCompany/someProject/some path
Run Code Online (Sandbox Code Playgroud)
这不是你想要的.
有关详细信息,请查看我的文章http://www.cofoh.com/white-shell