我想从Linux Shell中的变量中删除空格并在终端上回显它。 以下是我的代码:
echo "Enter your full name"
read fname
$fname | sed "s/ //g"
当我运行代码时,它显示未找到命令。
答案 0 :(得分:3)
您不能只调用变量(将其视为字符串值容器)。您需要echo
:
echo $fname | sed "s/ //g"
答案 1 :(得分:1)
需要回显$ fname:
echo $fname | sed "s/ //g"
答案 2 :(得分:1)
read -p "Enter your full name: " fname
echo "${fname// /}"
表单${fname// /}
是bash的模式替换的示例。它看起来更像${variablename//old/new}
,它会在old
中找到所有模式variablename
,并将其替换为new
。在我们的示例中,old
是一个空格,new
是一个空字符串。
模式替换,但这不起作用,例如,在dash
下(在类似debian的系统上为/bin/sh
)。
read -p "Enter your full name: " fname
printf "%s" $fname
echo ""
$ bash script
Enter your full name: Joe Bob Smith
JoeBobSmith