sed
以下は、人の名前からスペースを削除し、スペースを含まないように圧縮するコマンドを見つけるために使用したデモの完全なコピーです。
comp
これが完了したら、後でスクリプトで再利用できる変数に割り当てたいと思います。ここecho
では、どのように動作するかを確認するためにstdoutに送信しようとしています。
スクリプトを実行して自分の名前を入力すると、最後に中かっこを付けた彼の名前、または私が入力したものが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
ベストアンサー1
これを行うには、コマンド置換を使用する必要があります。つまり、代わりに
comp={ echo "$fullName" } | sed 's/ //g'
それはまるで
comp=$(echo "$fullName" | sed 's/ //g')
または
comp=`echo "$fullName" | sed 's/ //g'`