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'`