パイプコマンド出力を変数として

パイプコマンド出力を変数として

JSONファイルを生成するための小さなスクリプトを作成しようとしています。 SSL証明書をこのjsonに保存する必要があるため、CRT / KEYファイルを必要な形式に変換する必要があります。

次の結果を保存するソリューションはありますか?

cat $domain.key | sed s/$/\\n/ | tr -d '\n'

変数内(bash.script)

input_key=`cat $domain.key | sed s/$/\\n/ | tr -d '\n'`

cat(-: 後ろに"sed"を実行しないでください。

答え1

これを行う:

input_key=$(cat ${domain}.key | sed 's/$/\\n/' | tr -d '\n')

あなたの例では動作しますsedが、正規表現ビットの内容がシェルで解釈されていると思います。シェルの解釈を防ぐには、正規表現を一重引用符で囲む必要があります。以下も適用されます。

input_key=`cat ${domain}.key | sed 's/$/\\n/' | tr -d '\n'`

関連情報