如何删除 ksh 中字符串变量的最后一个字符?
我有一个字符串变量,我想删除它的最后一个字符。
例如:从“testing1”传递到“testing”。
我如何在 KSH 中执行此操作?
I've a string variable and I want to remove the last character of it.
For example: pass from "testing1" to "testing".
How can I do this in KSH?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
输出
${var%?}
是参数编辑功能。 '%' 表示从右侧删除并期望遵循以下模式。在您的示例中,该模式可能只是字符“1”(不带引号)。我正在使用通配符“?”这样任何单个字符都将被删除。您可以使用“*”字符来指示所有字符,但通常您希望将其与一些前面的字符“捆绑”,例如echo ${var%i*}
会给您<结果是代码>测试。此 AND '#' 和 '##' 也有从字符串左侧开始的 '%%' 变体。我希望这有帮助。
output
The
${var%?}
is a parameter editing feature. The '%' says remove from the right side and expects a pattern following. The pattern could be in your example case just the char '1' (without the quotes). I am using the wild-card char '?' so that any single character will be removed. You can use the '*' char to indicate all chars, but typically you want to 'bundle' that with some preceding chars, with your exampleecho ${var%i*}
would give you justtest
as a result. There are also '%%' variants on this AND '#' and '##' that start from the left side of the string.I hope this helps.