#!/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/Quotes、http://mywiki.wooledge.org/Argumentsそしてhttp://wiki.bash-hackers.org/syntax/words