【发布时间】:2017-05-08 07:02:56
【问题描述】:
我在研究 bash 脚本时发现了这段代码:
dir=${0%/*}
我怀疑大括号内的代码是正则表达式,但我不明白它的含义。有什么想法吗?
【问题讨论】:
标签: bash shell glob parameter-expansion
我在研究 bash 脚本时发现了这段代码:
dir=${0%/*}
我怀疑大括号内的代码是正则表达式,但我不明白它的含义。有什么想法吗?
【问题讨论】:
标签: bash shell glob parameter-expansion
它不是一个正则表达式,而是一个pattern 匹配。它将dir 设置为脚本的名称,即$0,但如果$0 中有斜线,则没有最后一个斜线和任何非斜线。如果$0 中没有斜线,则dir 将获得$0 的副本不变。请参阅 Bash Hackers Wiki 中的 "Parameter Expansion"。
【讨论】: