PERL中对SHELL命令的调用细节
发布时间:2020-12-16 00:04:21 所属栏目:大数据 来源:网络整理
导读:? ?? 在 PERL 开发中,通常可以用 system 函数或 ?`` 操作符来执行系统命令,但注意对 alias,bg,bind,break,builtin,cd,command,compgen,complete,continue,declare,dirs,disown,??????? echo,enable,eval,exec,exit,export,fc,fg,getopts,hash,help,history
? ??
在
PERL
开发中,通常可以用
system
函数或
?``
操作符来执行系统命令,但注意对
alias,bg,bind,break,builtin,cd,command,compgen,complete,continue,declare,dirs,disown,???????echo,enable,eval,exec,exit,export,fc,fg,getopts,hash,help,history,jobs,kill,let,local,logout,popd,printf,??pushd,??pwd,read,readonly,return,set,shift,shopt,source,suspend,test,times,trap,type,typeset,ulimit,umask,unalias,unset,wait等shell内部命令(即在文件系统中无执行文件的命令)这样直接执行会出错,错误是无法找到该文件或目录。可以在命令前加sh –c来实现。而对cd、umask等SESSION型命令,应该用PERL的内部函数chdir、umask等来实现功能更可靠。
?
补:如果用system调用后台程序,肯定是希望不影响前台的CGI程序响应HTTP请求,这时候注意,Firefox可以立刻得到system调用后的输出,IE不行,会等到system调用的后台程序执行完才得到之后的HTTP输出。其实只需要在system调用的后台程序里加 >/dev/null 2>&1把输出重定向就可以解决IE的响应问题了。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |