使用运算符删除bash变量中的所有新行

时间:2017-01-19 17:43:49

标签: bash

我想在bash脚本中删除字符串中的所有新行和空格。 (就像php中的trim()函数一样)

我试试这个(没有sed):

STR="home
kit
car
"
OUT=${STR//\n/}
echo $OUT

输出

 home kit car

我需要

homekitcar

1 个答案:

答案 0 :(得分:1)

这是在bash中指定换行符的错误方法。允许使用ANSI C-style引用语法,例如$'\n'$'\t'。因此,请相应地指定换行符并进行替换,

str="home
kit
car
"
out=${str//$'\n'/}
echo "$out"
homekitcar

注意: - 在当前问题的上下文中不相关,但如上所示,小写所有脚本变量是一个好习惯,大写仅适用于bash中的环境变量。< / p>