从变量中删除空格

时间:2016-05-28 07:47:09

标签: linux shell whitespace

我想从Linux Shell中的变量中删除空格并在终端上回显它。 以下是我的代码:

echo "Enter your full name"
read fname
$fname | sed "s/ //g"

当我运行代码时,它显示未找到命令。

3 个答案:

答案 0 :(得分:3)

您不能只调用变量(将其视为字符串值容器)。您需要echo

echo $fname | sed "s/ //g"

答案 1 :(得分:1)

需要回显$ fname:

echo $fname | sed "s/ //g"

答案 2 :(得分:1)

使用bash

read -p "Enter your full name: " fname
echo "${fname// /}"

表单${fname// /}是bash的模式替换的示例。它看起来更像${variablename//old/new},它会在old中找到所有模式variablename,并将其替换为new。在我们的示例中,old是一个空格,new是一个空字符串。

POSIX不需要

模式替换,但这不起作用,例如,在dash下(在类似debian的系统上为/bin/sh)。

使用任何POSIX shell

read -p "Enter your full name: " fname
printf "%s" $fname
echo ""

实施例

$ bash script
Enter your full name: Joe Bob Smith
JoeBobSmith