您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“perl中反引號(``)以及system之間有什么不同”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“perl中反引號(``)以及system之間有什么不同”這篇文章吧。
反引號(``)以及system都是perl中執(zhí)行系統(tǒng)命令的方式,但是兩者有較大的不同。 總體概括一下,在perl程序中“`$cmd`” 獲取的是程序執(zhí)行結果,而system($cmd)獲取的是程序執(zhí)行后的返回值。 詳情參看如下示例:
demo示例:
#!/usr/bin/perl use strict; my ($cmd,$ret1,$ret2); $cmd = "ls /tmp"; print "*************執(zhí)行反引號結果*****************\n"; $ret1 = `$cmd`; print "*************執(zhí)行system結果*****************\n"; $ret2 = system($cmd); print "*************反引號方式*****************\n"; print $ret1 ; print "*************下面是system方式*****************\n"; print $ret2 ;
執(zhí)行結果如下:
[root@mdw ~]# perl 20150325.pl *************執(zhí)行反引號結果*****************#反引號執(zhí)行結果輸出為空 *************執(zhí)行system結果*****************#system將執(zhí)行結果輸出 dsp.war edsSvc.war gconfd-root keyring-ap4Ph9 *************反引號方式***************** dsp.war edsSvc.war gconfd-root keyring-ap4Ph9 *************下面是system方式***************** 0[root@mdw ~]#
從上面的執(zhí)行結果可以看出,當調用system命令的時候,系統(tǒng)會將執(zhí)行結果輸出到屏幕,并且將執(zhí)行結果返回值(0或者非0)傳給$ret2 ;
然而反引號(``)將會把所有結果都保存到變量$ret1上,并且不會輸出任何結果。
以上是“perl中反引號(``)以及system之間有什么不同”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。