如何获取正在运行的Perl脚本的路径和名称(C中的argv [0])
在C/C++中(bash,也是?)第一个命令行参数argv [0]是二进制文件名(以用户调用的绝对路径或相对路径为前缀).
在Perl中,第一个命令行参数$ARGV [0]是脚本的路径和名称之后的第一个命令行参数. Perl脚本如何获取用于调用它的路径和名称? 谢谢! 解决方法
顺便说一句,这是错误的. ISO标准不要求这样做. 来自C99:
并注意它表示“代表程序名称”,而不是“是二进制可执行文件的位置”.那是因为有一个早期的片段说明:
对于你的argv [0],命令“sleep 60”是“pax的梦幻般的睡眠效用”而不是“/ bin / sleep”是完全合法的. 简而言之,环境不必提供程序的表示,即使它确实如此,它也不必是用于定位二进制的任何东西. 但是,由于厌倦了我的dia骂,Perl为此目的提供$0或$PROGRAM_NAME(以那种可怕的“英语”模式).有关详情,请参见perlvar. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |