在/etc/init.d/functions#_pids_var_run
(大多数Linux发行版中都有),我看到像这样的局部变量初始化,
local base=${1##*/}
是什么,
${1##*/}
得到解决?
答案 0 :(得分:7)
在bash脚本中,${varname##pattern}
会从pattern
中删除与varname
匹配的最长前缀。例如,
foo=bar/baz/qux
echo "${foo##*/}"
将打印
qux
在
的情况下${1##*/}
它将从*/
中删除与$1
匹配的最长前缀,这是传递给脚本/函数的第一个参数。
从本质上讲,这是一个穷人的$(basename "$1")
。