在bash中,dir = $ {0%/ *}是什么意思?

时间:2016-12-22 15:40:14

标签: bash shell glob parameter-expansion

我在研究bash脚本时发现了这段代码:

dir=${0%/*}

我怀疑大括号内的代码是正则表达式,但我不明白这意味着什么。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

它不是正则表达式,但它是pattern匹配。它将dir设置为脚本的名称,即$0,但如果$0中存在斜杠,则没有最后一个斜杠和后面的任何非斜杠。如果$0中没有斜杠,则dir会获得$0的副本不变。请参阅Bash Hackers Wiki中的"Parameter Expansion"