shell 去除str 前后空格
时间: 2023-08-16 18:13:24 浏览: 222
在 Shell 中,你可以使用 `trim` 函数来去除字符串的前后空格。下面是一个示例的 Shell 脚本函数:
```shell
trim() {
local str="$1"
# 去除字符串前面的空格
str="${str#"${str%%[![:space:]]*}"}"
# 去除字符串后面的空格
str="${str%"${str##*[![:space:]]}"}"
echo -n "$str"
}
```
你可以将上述函数添加到你的 Shell 脚本中或者直接在终端中使用。
要去除字符串变量 `str` 的前后空格,只需调用 `trim` 函数并传递该变量作为参数,然后将其赋值给另一个变量。例如:
```shell
original_str=" Hello, World! "
trimmed_str=$(trim "$original_str")
echo "原始字符串: '$original_str'"
echo "修剪后的字符串: '$trimmed_str'"
```
运行上述代码将输出:
```
原始字符串: ' Hello, World! '
修剪后的字符串: 'Hello, World!'
```
在函数内部,我们首先使用 `${str%"${str##*[![:space:]]}"}` 的形式去除字符串末尾的空格,然后使用 `${str#"${str%%[![:space:]]*}"}` 的形式去除字符串开头的空格。最后,我们使用 `echo -n` 输出修剪后的字符串而不换行。
注意:这个函数只能去除字符串前后的空格,不能去除字符串中间的空格。如果你需要去除字符串中间的空格,可以使用其他方法,例如使用 `sed` 命令或正则表达式来替换空格。
阅读全文