【发布时间】:2016-05-09 21:37:05
【问题描述】:
我想从输入字符串中删除最后 4 个字符,然后在 sed 命令中使用它。但我无法让它正常工作
newversion 是一个输入参数,它设置为:5.5.5-dev。 我想从输入参数中删除 -dev。
我尝试过的:
version=${$newversion::-4}
sed -i "s|\(<<some name i defined>>/$imagename:\)\([^\n]*\)|\1$version|" docker-compose.yml
错误:
错误替换
【问题讨论】:
-
应该是
version=${newversion::-4}。 (请注意,您使用了额外的$) -
newversion 从 Jenkins 构建中注入。所以 $newversion 是我使用的变量。在这种情况下我应该使用 $ 正确吗?
-
$newversion只是${newversion}的缩写,如果大括号内没有其他参数替换运算符,您可以使用它。