string - 如何从 Bash 变量中去除空格?

标签 string bash variables trim

我有一个带有这段代码的 shell 脚本:

var=`hg st -R "$path"`
if [ -n "$var" ]; then
    echo $var
fi

但是条件代码总是执行,因为hg st 总是打印至少一个换行符。

  • 有没有一种简单的方法可以从 $var 中去除空格(例如 PHP 中的 trim())?

  • 是否有处理此问题的标准方法?

我可以使用 sedAWK ,但我认为这个问题有更优雅的解决方案。

最佳答案

一个简单的答案是:

echo "   lol  " | xargs

Xargs会为你做修剪。这是一个命令/程序,没有参数,返回修剪后的字符串,就这么简单!

注意:这不会删除所有内部空格,因此 "foo bar" 保持不变;它不会变成 "foobar"。但是,多个空格将被压缩为单个空格,因此 "foo bar" 将变为 "foo bar"。此外,它不会删除行尾字符。

关于string - 如何从 Bash 变量中去除空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/369758/

相关文章:

bash - 使用变量作为行号从 bash 脚本中的文件读取特定行

linux - egrep 正则表达式 bash 脚本中的数字变量

c# - 传递多个多字符分隔符时,String.Split 方法如何确定分隔符优先级?

python - 如何从 Python 中的字符串列表创建所有可能的长度为 100 个字符的句子

Java String 内部表示

bash - 递归剪切子文件夹中的文件后缀

在 WHERE 子句中使用变量时 PHP MySQL 更新不起作用

matlab - 如何在 MATLAB 中将数字连接到变量名?

C99,C代码中的变量放置

JavaScript/jQuery : Replace 2nd, 第三个等空格,但不是文本中的第一个空格