vnc.conf 底部的“1;”行是什么?

vnc.conf 底部的“1;”行是什么?

我在 Ubuntu 上配置 tigervnc,默认配置文件的底部有

1;

这条线的作用是什么?

答案1

在 TigerVNC 的 Debian 软件包中,该vnc.conf文件实际上是一个 Perl 脚本,由 vncserver(也是一个 Perl 脚本)使用函数加载do(),相当于 bash 中的“source”或 PHP 中的“include”。

Perl 中的 do() 函数返回脚本中最后一条语句所返回的任何值。因此,如果脚本的作者将其1;作为最后一条语句,则对 do() 的调用也将得到 1 的结果。(而如果脚本以 结尾,$abc = "xyz";则 do() 也将返回字符串“xyz”。)

Perl 通常需要这样做模块,use即通过或加载到主 Perl 脚本中的 .pm 文件require- 如果模块以“false”值结尾,则会导致错误消息,因此所有 Perl 模块文件1;末尾都会有一个卡住以保证正确的结果。

对于通过 加载的内容,它不是必需的do(),因为 Perl 不会自动检查其结果,但作者无论如何都必须习惯性地添加它。

相关内容