gpt4 book ai didi

linux - ${2%.*} 是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 11:37:22 24 4
gpt4 key购买 nike

我正在阅读一个 bash 脚本,它在输入中有两个参数,但我不知道它是做什么的

${2%.*}

确实如此,有人能解释一下花括号、2、%、"."是什么意思吗?和 * 指的是两个?

谢谢

最佳答案

$2 是传递给程序的第二个参数。也就是说,如果您的脚本是用

myscript foo.txt bar.jpg

$2 的值为 bar.jpg

% 运算符从匹配以下模式的值中删除后缀。 .* 匹配后跟零个或多个字符的句点 (.)。放在一起,您的表达式从值中删除了一个扩展名。使用上面的例子,

$ echo ${2%.*}
bar

附言也许值得注意的是,% 将删除以下模式的最短匹配项:因此,如果 $2 是例如 bar.jpg.xz ,则 ${2%.*} 将是 bar.jpg。 (相反,%% 运算符将删除模式的最长 匹配项,因此 ${2%%.*} 将是 bar这两个例子。)

关于linux - ${2%.*} 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26574431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com