我希望能在Linux Shell中从一个变量中移除空格并在终端上输出。以下是我的代码:
当我运行代码时,它显示“命令未找到”。
echo "Enter your full name"
read fname
$fname | sed "s/ //g"
当我运行代码时,它显示“命令未找到”。
echo "Enter your full name"
read fname
$fname | sed "s/ //g"
你不能仅仅调用一个变量(将其看作字符串值容器),你需要使用echo
命令:
echo $fname | sed "s/ //g"
echo $fname | sed "s/ //g"
read -p "Enter your full name: " fname
echo "${fname// /}"
${fname// /}
是bash的模式替换的一个例子。它通常看起来像${variablename//old/new}
,并且它可以在variablename
中找到所有出现的old
模式,并将它们替换为new
。在我们的例子中,old
是一个空格,new
是一个空字符串。dash
(即/bin/sh
)下工作。
read -p "Enter your full name: " fname
printf "%s" $fname
echo ""
$ bash script
Enter your full name: Joe Bob Smith
JoeBobSmith
/bin/sh
)或一般的 POSIX shell。 - nwk
echo $fname | sed "s/ /g"
。 - sumitya