回答
建模關閉文檔中的代碼示例在http://perldoc.perl.org/functions/system.html:
@args = ("mkdir", $directory);
system(@args) == 0
or die "mkdir failed";
Perl可以使目錄,而system()
電話,但我相信你想要做其他的東西,只是使用的mkdir作爲一個例子。
也可以在命令周圍使用反引號來捕獲輸出,如果你需要的話(例如$ i ='cat foo.txt'將foo.txt的內容放入$ i) – Nialscorva
@Nialscorva:或者'如果你需要繞過Markdown'$ i = qx {cat foo.txt}'。 –
由於Perl有建於mkdir()
系統調用,你並不需要在所有使用system
命令:
my $directory = "...";
if (mkdir $directory)
{
croak "Failed to create directory $directory ($!)";
}
如果必須使用system
,這樣做的安全方法:
if (system "mkdir", $directory)
{
croak "Failed to create directory $directory";
}
這種形式的system
語句(帶有參數列表)避免了shell擴展的問題。
還有File :: Path軟件包,它一次可以創建或刪除多個關卡。 –
使用perl命令而不是依賴shell命令。 perl可以做很多事情,如果它不是built in或core module,它可能在CPAN上可用。
正如人們所提到的,mkdir
可用,所以大多數basic file related commands。
話雖這麼說,這裏的shell命令的污垢在Perl:
你想要的所有Perl腳本:
應該強調的是'exec'不會返回到調用程序,即運行perl代碼的perl進程被'exec''程序替代。這意味着調用'exec'後的代碼永遠不會執行,除非exec不能調用程序。 –
@danielkullmann好點。我從來沒有真正使用'exec',除了學習從未使用它,大約10-15年前。 =) – TLP
對於從Perl腳本執行任意系統命令,你需要使用系統命令用反引號
爲電子商務。摹
在你的情況,用於創建你需要輸入
系統(mkdir $directory
)目錄; #note HTML是不顯示的反引號,但反引號是發生之前的mkdir和$目錄後
它將在$目錄的名稱
- 1. 從另一個終端發送命令到終端
- 2. VIM。發送命令到終端?
- 3. 用AppleScript發送命令到終端
- 4. 監控終端命令/覆蓋腳本
- 5. 終端命令到蘋果腳本
- 6. Python腳本在終端執行命令
- 7. 腳本命令 - 的bash Linux終端
- 8. 終端重定向命令
- 9. 多個linux終端同時向所有窗口發送命令
- 10. 使用PuTTY向Linux終端發送命令
- 11. 發出連接到shell腳本的終端命令
- 12. 如何從c#向超級終端發送命令(TCP/IP通信)。
- 13. 我如何從Java運行UNIX終端並向其發送命令?
- 14. 發送命令到終端從Java與它的空間
- 15. 發送命令輸出從JSF managedBean將jQuery終端
- 16. 從AppleScript傳遞多個參數到終端命令腳本
- 17. 如何從shell腳本執行終端命令? (MacOS 10.12)
- 18. 運行終端從腳本和替換命令與變量
- 19. 在bash腳本中從當前終端運行命令
- 20. 如何從Python腳本執行終端中的命令?
- 21. 終端命令
- 22. 發送命令行參數NPM腳本
- 23. 發送SSH命令與腳本
- 24. python腳本發送命令給vim(mvim)
- 25. 如何發送命令到python腳本?
- 26. 如何使用PERL腳本向Windows命令提示符發送命令
- 27. 通過腳本文件向Tera Term發送命令
- 28. 在後臺運行Perl腳本並向其發送命令
- 29. Ranorex腳本;如何向瀏覽器發送命令?
- 30. 如何從Web前端向GNU屏幕會話發送命令?
http://www.perlhowto.com/創建在當前工作目錄一個目錄執行expire_commands我相信應該有所幫助 – Joe