コマンドを実行すると、cd / | vi
viエディタに移動します。コマンドを入力すると、コマンドは表示されませんが、コマンドが実行され、実行されたコマンドは履歴に表示されません。
答え1
「|」はパイプコマンドです。一部のプログラムは、「less」や「more」などのパイプから入力を受け取ります。
次のコマンドを実行すると:
$ ls -l | less
"ls"の出力は "less"ポケットベルを介してパイプされます。
パイピングなしで同じ行で1つのコマンドを実行し、別のコマンドを実行するには "|"コマンドをパイプする代わりに ";"あるいは、「&&」(おそらく探しているものかもしれません)を使用することもできます。
あなたの質問にもっと直接答えるために、現在起こっていることは、あなたのコマンドが "cd"の内容をviに出力しようとしていることです。