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

在bash中,dir=${0%/*}是什么意思?,bash,shell,glob,parameter-expansion,Bash,Shell,Glob,Parameter Expansion,我在研究bash脚本时发现了这段代码: dir=${0%/*} 我怀疑大括号内的代码是regex,但我不明白它的意思。有什么想法吗?这不是正则表达式,但它是匹配的。它将脚本的名称设置为dir,即$0,但如果$0中有斜杠,则脚本名称后面没有最后一个斜杠和任何非斜杠。如果$0中没有斜杠,dir将获得一份$0的副本,该副本将保持不变。请参见Bash黑客维基。它不是正则表达式,而是匹配项。它将脚本的名称设置为dir,即$0,但如果$0中有斜杠,则脚本名称后面没有最后一个斜杠和任何非斜杠。如果$0中没有

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

dir=${0%/*}

我怀疑大括号内的代码是regex,但我不明白它的意思。有什么想法吗?

这不是正则表达式,但它是匹配的。它将脚本的名称设置为
dir
,即
$0
,但如果
$0
中有斜杠,则脚本名称后面没有最后一个斜杠和任何非斜杠。如果
$0
中没有斜杠,
dir
将获得一份
$0
的副本,该副本将保持不变。请参见Bash黑客维基。

它不是正则表达式,而是匹配项。它将脚本的名称设置为
dir
,即
$0
,但如果
$0
中有斜杠,则脚本名称后面没有最后一个斜杠和任何非斜杠。如果
$0
中没有斜杠,
dir
将获得一份
$0
的副本,该副本将保持不变。请参见Bash黑客维基中的