在perl中
系统调用有两种方式,一种是system(cmd),另一种是`system`
以前一直没注意,这两种方式的区别,还以为是一样的,
今天写脚本的时候,忽然想要获取命令的返回值,然后,用了
my $result = system('ls');
发现,命令的结果并没有返回给$result,
而是直接,打印到屏幕上了,所以,这么搞是要完蛋的,
而改成
my $result = `ls`;
则就能获取到命令的执行结果。
所以,如果我们要调用系统命令,然后要处理,命令执行的结果,就需要使用
`cmd`,而不是system
相关文章
- 11-09Dockerfile 的 CMD 和 ENTRYPOINT 区别与联系
- 11-09关于CMD指令和ENTRYPOINT的区别
- 11-09两句话概括cmd和amd的区别
- 11-0928-CMD和ENTRYPOINT的区别
- 11-09Docker系列(23)- CMD和ENTRYPOINT的区别
- 11-09【整理】 JavaScript模块化规范AMD 和 CMD 的区别有哪些?
- 11-09cmd命令和linux命令的区别
- 11-09Dockerfile中ENTRYPOINT 和 CMD的区别
- 11-09Perl system(cmd) 和 `cmd` 的区别探讨
- 11-09os.system('cmd')在linux和windows系统下返回值的差异