如果您创建包含以下内容的可执行文件并运行它,它将自行删除。
这是如何运作的?
#!/bin/rm
答案1
内核解释以 开头的行#!
并使用它来运行脚本,并传入脚本的名称;所以这最终会运行
/bin/rm scriptname
这会删除脚本。 (作为斯蒂芬·查泽拉斯 指出,scriptname
这里足以找到脚本 - 如果您指定了相对或绝对路径,则按原样传递,否则在前面找到的任何路径都会被添加到前面,如果您包含该路径并且脚本位于当前路径中PATH
,则可能包括空字符串PATH
目录。您可以使用 echo 脚本来#!/bin/echo
看看它是如何工作的。)
作为霍布斯指出,这意味着您的脚本实际上是一个rm
脚本,而不是一个bash
脚本 - 后者将以#!/bin/bash
.
看程序如何运行有关其在 Linux 中如何工作的详细信息;该文章的评论提供了其他平台的详细信息。#!
被称为 shebang,通过搜索该术语您会找到很多信息(感谢亚伦的建议)。作为日本LP指出,您还会发现它被称为“pound bang”或“hash bang”(#
在不使用的国家/地区通常称为“pound”£
或“hash”,以及!
“bang”)。维基百科有更多信息。