我有一个字符串变量,想要删除它的最后一个字符。 例如:从"testing1"转换成"testing"。在KSH中该如何实现? 答案:可以使用以下命令删除字符串变量的最后一个字符: ${variable%?}
var="testing1" print ${var%?} 输出testing ${var%?}是一个参数编辑特性。'%'表示从右侧删除并期望有一个模式跟随。在你的例子中,该模式可以仅为字符 '1'(不带引号)。我使用通配符'?'以便去除任何单个字符。您可以使用'*'字符表示所有字符,但通常您想将其与前面的某些字符捆绑在一起,例如 echo ${var%i*} 将仅给您返回test作为结果。还有'%%'变体和'#'和'##'从字符串左侧开始的变体。 希望这能帮到您。
abcde
,第一次迭代输出:abcde
,第二次迭代输出:abcd
,第三次迭代输出:abc
。 - dcdum2018bash
尚不确定。如果你想删除末尾的 3 个字符,可以使用echo ${变量%%???}
。祝好运! - shellter