bash:用函数参数替换错误

时间:2019-02-20 06:33:30

标签: bash macos

当删除字符串的一部分时,代码确定

var="1125X549+0+192"

echo "${var%X*}"

在带有功能的终端中处理:

converto3(){

  echo "$2"

  A="${$2%X*}"
  # echo $A
  # convert $1 -crop $2 "three.png"
}

converto3 Group\ 7@3x\(1\).png  1125X549+0+192

它报告,

  

converto3:4:替换错误

如何解决?

1 个答案:

答案 0 :(得分:1)

您应该使用:

a="${2%X*}"
echo "$a"

请记住,您在外壳程序中使用的是"${var%X*}",而不是"${$var%X*}"

如果选中man bash,则会显示以下语法,用于删除匹配的后缀模式。

${parameter%word}
${parameter%%word}