当我执行命令时cd / | vi
,它会转到 vi 编辑器。当我键入任何命令时,它不会显示该命令,但会执行该命令,并且执行的命令不会显示在历史记录中。
答案1
“|”是一个管道命令。有些程序从管道获取输入,例如“less”或“more”。
如果您运行以下命令:
$ ls -l | less
“ls”的输出将通过寻呼机“less”进行管道传输。
如果您想在没有管道的情况下从同一行运行一个命令,然后运行另一个命令,您可以使用“;”或“&&”(这可能就是您正在寻找的)而不是管道“|”命令。
更直接地回答你的问题,发生的情况是你的命令试图将“cd”的内容输出到vi。