如何修剪Bash变量中的空白部分?
我有一个带有这种代码的shell脚本。
var=`hg st -R "$path"`
if [ -n "$var" ]; then
echo $var
fi
但条件代码总是执行,因为hg st
总是打印出至少一个换行符。
- 有什么简单的方法可以从
$var
中去除空白(就像PHP中的trim()
一样)?
或者
- 是否有一个标准的方法来处理这个问题?
847
3
Bash有一个叫做参数扩展的功能,除其他外,它允许根据所谓的**模式进行字符串替换(模式类似于正则表达式,但有根本的区别和限制)。 [flussence'的原话。Bash有正则表达式,但它们被很好地隐藏起来了:]
下面演示了如何从一个变量值中去除***所有的空白(甚至是内部的空白)。
我总是用sed来做。
如果有一个更优雅的解决方案,我希望有人能把它贴出来。
你可以用
tr
删除换行。