PERL中對SHELL命令的調用細節

來源:互聯網
上載者:User
     在 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的響應問題了。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.