阅读这篇标题为“修复 Unix/Linux/POSIX 文件名”的帖子时,我发现了作者的一个非常有趣的短语,它说:
哦,不要显示文件名。文件名可能包含控制终端(和 X-windows)的控制字符,从而在显示上造成令人讨厌的副作用。显示文件名甚至会导致安全漏洞——谁会期望打印文件名是一个漏洞?!?此外,您无法确定文件名的字符编码是什么,因此如果您从使用非 ASCII 字符的其他人那里获得文件名,您可能会得到垃圾 mojibake
我一直怀疑是这种情况,因为有时意外运行会cat binary_file
导致我的终端会话退出,或者导致终端CTRL+L
自行退出,但我从来没有知道要问一个足够连贯的问题。
我的问题是:程序从命令行执行时可以输出什么输出以生成可能被视为终端仿真器漏洞的行为?
请注意,我不是指将来自网站的命令粘贴到命令行中。