12 stdinでのテストの入力が完了したことをどのように示しますか? たとえば、MD5を使用して「青」を暗号化するとします(MD5が安全でないことはわかっていますが、この例だけのためです)。私は試した user$ blue | md5 私が理解するようになったのは、1つのパイプが標準入力に入力する方法ですが、正しく動作しません。 しかし、私がちょうど入ったら user$ md5 「青」という言葉を入力できます。しかし、テキストの入力が終了したことをmd5に示すにはどうすればよいですか? keyboard-shortcuts terminal shell stdin — waiwai933 ソース 2 blueエコーする代わりにコマンドとして実行しようとしたため、最初の試みはおそらく正しく機能しませんでした。echo blue | md5代わりに試してください。 — トレイハナー
16 テキストのmd5sumを取得することについて話していますか? その場合、md5sumコマンドを実行します テキストを入力し、終了したらReturnキーを押して新しい行に移動します CTRL-Dを押して入力を終了します。 user$ md5sum blue CTRL-D — ブライアン ソース 6 これは正しい答えです。Ctrl-Dは、シェルコマンドでキーボードの標準入力を終了する標準的な方法です。しかし、奇妙なことに、私のシステム(Mac OS X v10.6.3)には、最初のCtrl-Dで終了しない/ sbin / md5があります。終了するには、2回目のCtrl-Dが必要です。と同じopenssl md5。 — 10 4 @Spiff:最後の改行を省略したい場合、^ Dを2つだけ必要とします。最終改行を受け入れる(または必要とする)ことができる場合は、新しい行で単一の^ Dで十分です。EOF文字(^ D)は、バッファリングされた入力をフラッシュします。バッファリングされた入力がない場合、ttyから読み取るプロセスはゼロ長の読み取り(つまりEOF)を取得します。(例)POSIX XRAT 11.1.9、EOFを参照してください。Linux termiosのVEOF ; またはFreeBSD termiosのEOF。 — クリスジョンセン
0 最初の例では、次のものが必要ですecho。 user$ echo "blue" | md5 — 追って通知があるまで一時停止します。 ソース 無駄だ。アイデアは、すべての入力がキーボードで押されることでした。問題は、ストリームの終了をマークする方法でした。 — ズニック14
blue
エコーする代わりにコマンドとして実行しようとしたため、最初の試みはおそらく正しく機能しませんでした。echo blue | md5
代わりに試してください。