首页 > 解决方案 > 从 Zsh 中的字符串末尾修剪空格

问题描述

如何在不产生另一个进程的情况下从 Zsh 中的字符串末尾删除所有空格?

在查看了 Zsh 中的扩展文档(即第14.3 节参数扩展14.8.1 Glob 运算符)(也可以通过以下方式查看)之后,$ man zshexpn我编写了以下代码:

${${var##[:space:]##}%%[:space:]##}

但是 Zsh 似乎无法识别[:space:]glob 运算符。根据我对文档中以下声明的理解,它应该

在下面讨论的需要模式的扩展中,模式的形式与用于文件名生成的形式相同;请参阅文件名生成。请注意,这些模式以及任何替换的替换文本本身都会受到参数扩展、命令替换和算术扩展的影响。

这是 Zsh 中的错误还是我忽略了什么?

现在,我只是使用${${var## ##}%% ##}which 至少替换末尾的任何和所有空格字符。

我正在使用 Zsh 5.8。

标签: stringzshwhitespaceglobparameter-expansion

解决方案



推荐阅读