在采访中,我收到了问题"如何运行shell脚本,以便它不做任何事情"。有人知道怎么做吗?
答案 0 :(得分:1)
不可能。
执行shell脚本将“做点什么”。我们可以做出非常微不足道的事情,但某事不可能发生。
执行shell脚本将需要操作系统找到包含shell脚本的文件,打开并读取文件,检查shebang的第一行,...操作系统将启动一个新进程,所以a PID将被分配。关键是,执行shell脚本将执行某事。
可以在不启动新shell的情况下执行脚本,在脚本前面加上一个点和一个空格。
使用bash,我们可以使用bash -n myscript.sh
检查脚本的语法而不实际执行它。但同样,它仍在做某事(阅读myscript.sh文件和检查语法。)
即使我们将stdin,stdout和stderr指向/ dev / null,操作系统仍在做某事。
即使我们为shell脚本指定了无效的名称,操作系统也会检查脚本是否存在,所以它正在做某事。
如果我们采用规范“不做任何事情”来严重意味着操作系统没有任何,那么这是不可能的。