我输入错误ls
sl
,而不是警告我sl
没有像以前那样安装,我现在得到以下python代码。为什么 bash 在我键入 sl
时运行 python 代码?
$ sl
Fatal Python error: Py_Initialize: Unable to get the locale encoding
File "/usr/lib/python2.7/encodings/__init__.py", line 123
raise CodecRegistryError,
^
SyntaxError: invalid syntax
Aborted (core dumped)
sl
通常是安装在使蒸汽机车在屏幕上行驶的系统上的恶作剧;它通常存在于Linux boxen的/usr/games
中。 但是,它通常是一个编译的二进制文件,而不是一个 Python 脚本。 正如注释中所建议的,which sl
会告诉你无意中运行的sl
脚本的位置,file $(which sl)
会告诉你它是什么类型的文件。
它也可能是安装的恶意程序,试图在你像你显然所做的那样打字时对你的系统造成伤害ls
;如果这是真的,这是一件好事,它崩溃了(或者显然是这样做了)。 无论哪种方式,我都会仔细阅读脚本,看看它的作用。