我有一个包含以下行的脚本:
propFile="${0%/*}/anteater.properties"
答案 0 :(得分:2)
变量扩展中的%
运算符会删除给定的匹配后缀模式。因此${0%/*}
接受变量$0
,并在结尾删除所有匹配的/*
。这相当于命令dirname
,当给定路径时,它返回该路径的父目录。
为了处理bash变量中的空格,每当扩展变量时(即每当你写$var
时),都应引用它。简而言之,请始终使用"$var"
而不是$var
。
请考虑阅读bash手册中的shell parameter expansion和variable quoting,了解有关这两个主题的更多信息。
答案 1 :(得分:1)
剥去匹配/*
的后缀,即最后一次斜杠后的所有内容,包括斜杠本身。
在您使用它的任何地方引用它(cat "$propFile"
)。