これが私が段階的に達成したいものです。
- エルエス
- その後、出力を反転します。
- 次に、ファイルの末尾に新しい行を追加します。
だから私は次のような1行のスクリプトを作成しましたが、エラーが発生します。
(ls | tac | echo >>) > ./foobar
複数のコマンドに分割してこれを実行できますが、1つのコマンドでこれを実行したいと思います。
echo >> ./foobar
ファイルの末尾に新しい行が挿入されて混乱しています。
それでは、私のコードのこの行がうまくいかないのはなぜですか?echo >>
ファイル記述子の末尾に新しい行を追加しませんが、エラーが発生するのはなぜですか?私がここで何を間違っているのか?
ベストアンサー1
>>
シンボルの直後のファイル名にコマンド出力を追加するようにシェルに指示します(したがって、少なくとも閉じるかっこの前に名前を追加する必要があります)。
必要な操作には、次のことができます。
ls | tac > ./foobar; echo >>./foobar
または:
(ls | tac; echo ) >./foobar
どちらも同じ結果を得ました。