【发布时间】:2013-05-02 21:07:08
【问题描述】:
在 bash 中操作字符串时百分号是什么意思?例如,${0%/*} 是什么意思?
【问题讨论】:
-
“字符串操作”文档的新链接:tldp.org/LDP/abs/html/refcards.html#AEN22828
标签: string bash parameters
在 bash 中操作字符串时百分号是什么意思?例如,${0%/*} 是什么意思?
【问题讨论】:
标签: string bash parameters
如果你使用@fedorqui 的资源,你会看到它会从第一个位置参数的末尾去掉/* 的最短匹配。一个例子:
example_foo(){
echo ${1%/*}
}
example_foo path/to/directory/sub_directory
# => path/to/directory
在示例中,我使用了第二个位置参数,因为第一个是函数的名称。
【讨论】:
$0 是正在执行的脚本的完整路径名;给定的表达式去掉了路径的最后一个部分,所以它大致相当于dirname $0。
1表示命令的第二个片段,从0开始计数。
path/to/directory/sub_directory,这是example_foo 的第一个参数。你不能把东西放进去。