Linuxコマンドラインのパイプ

Linuxコマンドラインのパイプ

次のコマンドを検討してください。

echo ’.dump’ | sqlite bacula.db > bacula.sq

何をしていて|何をしていますか?

たぶん誰かが私に配管に関するマニュアルを教えてくれたり、何が起こっているのかを説明してくれます。ありがとうございます。

答え1

Shellパイプ演算子は|中間ファイルを生成せず、コマンドの標準出力が次のコマンドの標準入力になるようにします。

次のソースで簡単な方法で説明されている詳細情報を見つけることができます。

答え2

このコマンドは7桁の文字列をコマンドに書き込み、’.dump’その後に改行文字が続きますsqlite。 (合計12バイト)

コマンドはsqliteディレクティブを理解していないため、ターゲットファイルに何も書き込むことなく次のように報告bacula.sqします。Error: incomplete SQL: ’.dump’標準エラー

'アポストロフィの代わりに一重引用符文字を使用することを意味した可能性があります

echo '.dump' | sqlite bacula.db > bacula.sq

答え3

|Unix/Linux のパイプ演算子です。最初のコマンドの出力を2番目のコマンドの入力として使用できる場合に使用できます。

たとえば、

ls -l | lessディレクトリ内の長いファイルのリストが表示されます。このlessコマンドは、ls -l出力を入力として使用して上下にスクロールして表示できるファイルのリストを表示します。

関連情報