Bash路径问题
我有一个脚本,其中包含以下行:Bash路径问题,bash,shell,escaping,spaces,Bash,Shell,Escaping,Spaces,我有一个脚本,其中包含以下行: propFile="${0%/*}/anteater.properties" “${0%/*}”是什么意思 此命令提供了脚本的路径-但路径上有空格,脚本无法找到此文件-如何处理 去除匹配的后缀/*,即最后一个斜杠之后的所有内容,包括斜杠本身 无论您在何处使用它(cat“$propFile”) 变量展开中的%运算符将删除给定给它的匹配后缀模式。因此${0%/*}接受变量$0,并在末尾删除所有匹配的/*。这相当于命令,该命令在给定路径时返回该路径的父目录 为了处理b
propFile="${0%/*}/anteater.properties"
/*
,即最后一个斜杠之后的所有内容,包括斜杠本身cat“$propFile”
)变量展开中的
%
运算符将删除给定给它的匹配后缀模式。因此${0%/*}
接受变量$0
,并在末尾删除所有匹配的/*
。这相当于命令,该命令在给定路径时返回该路径的父目录
为了处理bash变量中的空格,每当展开变量时(即每当编写$var
),都应该引用它。简而言之,始终使用“$var”
,而不仅仅是$var
考虑阅读bash手册中的和,以了解有关这两个主题的更多信息。引用肯定有效。但是,如果您想直接引用文件名中带有空格的文件名,可以使用\字符转义空格。@asf107,如果您想引用存储在变量中的文件名,请将其引为引号。以防万一。