Dan*_*s W 12 bash sed shell-script environment-variables bash-script
下面是我用来找出删除sed人名中空格的命令的演示的完整副本,并将其压缩为没有空格。
完成后,我想将它分配给变量,comp然后我可以稍后在脚本中重新使用它。在这里,我只是尝试将echo其发送到标准输出,这样我就可以看到它起作用了。
如果我运行脚本并输入我的名字,Ronald McDonald我得到的结果是RonaldMcDonald}他名字末尾的花括号,或者我输入的任何内容。
我如何让它工作,以便结果不会将 附加}到指定文本的后面。
#!/bin/bash
function readName {
echo "Enter your full name:"
read fullName
clear
} # end readName
function cmprsName {
comp={ echo "$fullName" } | sed 's/ //g'
} # end cmprsName
function sayItNow {
echo $comp
} # end sayItNow
function allTogether {
readName
cmprsName
sayItNow
} #end allTogether
case $1 in
-h | --help ) allTogether
exit
;;
* ) echo "$0 -h"
exit 1
esac
Run Code Online (Sandbox Code Playgroud)
max*_*zig 17
您必须为此使用命令替换,即代替
comp={ echo "$fullName" } | sed 's/ //g'
Run Code Online (Sandbox Code Playgroud)
就像是
comp=$(echo "$fullName" | sed 's/ //g')
Run Code Online (Sandbox Code Playgroud)
或者
comp=`echo "$fullName" | sed 's/ //g'`
Run Code Online (Sandbox Code Playgroud)