sedの結果を変数に割り当てる方法

sedの結果を変数に割り当てる方法

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

おすすめ記事