複数のファイルを単一のファイルに追加してからメールで送信するには?

複数のファイルを単一のファイルに追加してからメールで送信するには?
if [[ unix = unix ]]
then
echo "they are same" > a.txt
else 
echo "they are not same" > b.txt
a.txt>>b.txt>c.txt
mail -s "comparison" [email protected] < /home/c.txt

メッセージ本文に同じかどうかを表示したいのですが、期待した結果は出ません。

ファイルの1つがまたはa.txtとしてb.txt報告されますcommand not found

ベストアンサー1

スクリプトの意図が何であるかはわかりませんが、「複数のファイルを単一のファイルに追加する方法」というタイトルの主な質問に答えます。

リダイレクト演算子(>、など)>><ファイルにのみ機能できません。コマンドの入力と出力を処理します。 「内容で覆う」foo > barという意味ではありません。これは、「コマンドを実行してその出力で上書きする」ことを意味します。これは、「コマンドを実行し、その出力を現在のコンテンツに追加する」ことを意味します。また、これらは接続できません。無意味。barfoofoobarfoo >> barfoobarfoo > bar > baz

欲しいならつながる複数のファイルの内容を保存し、結果を別のファイルに追加してから、次の>>コマンドで演算子を使用する必要がありますcat

cat [OPTION]... [FILE]...

したがって、ファイル名を使用して以下を追加a.txtできb.txtますc.txt

cat a.txt b.txt >> c.txt

コメントで同様の質問をしたので、次の2つのコマンドは1行バージョンと同じです。

cat a.txt >> c.txt
cat b.txt >> c.txt

おすすめ記事