追加コマンドの冗長出力

追加コマンドの冗長出力
#!/bin/bash
VAR1="Hello"
VAR2="Bye"

{
echo $VAR1
some stuff here
echo $var2
}
mutt -s "this is a test" [email protected]

{と}に含まれるコード出力を電子メールだけでなく画面にコピーする必要があります(おそらくteeコマンドを使用)。

ベストアンサー1

このように:

#!/bin/bash

var1="Hello"
var2="Bye"

{
    echo "$var1"
    some stuff here
    echo "$var2"
} | tee >(mutt -s "this is a test" [email protected])
  • 大文字変数を使用しないでください。システム使用のために予約されています。
  • より多くの引用を使う

プロセスの置き換え:<(コマンド)または>(コマンド)はFIFOまたは/ dev / fd / *エントリで置き換えられます。デフォルトでは、名前付きパイプを設定する略語です。バラよりhttp://mywiki.wooledge.org/ProcessSubstitution。例:diff -u <(ファイル1のソート)<(ファイル2のソート)

スペース/メタ文字を含むすべてのリテラルは「二重引用符」として扱われます。すべて拡張子: "$var", "$(コマンド "$var")", "${array[@]}", "a & b"。コードまたはリテラル $: "costs $5", ssh ホスト "echo "$HOSTNAME"" を表すには、「一重引用符」を使用します。バラよりhttp://mywiki.wooledge.org/Quoteshttp://mywiki.wooledge.org/Argumentsそしてhttp://wiki.bash-hackers.org/syntax/words

おすすめ記事