国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用Python腳本在Linux下實現部分Bash Shell的教程

2020-02-23 00:44:55
字體:
來源:轉載
供稿:網友

對于Linux用戶來說,命令行的名聲相當的高。不像其他操作系統,命令行是一個可怕的命題,但是對于Linux社區中那些經驗豐富的大牛,命令行卻是最值得推薦鼓勵使用的。通常,命令行對比圖形用戶界面,更能提供更優雅和更高效的解決方案。

命令行伴隨著Linux社區的成長,UNIX shells,例如 bash和zsh,已經成長為一個強大的工具,也是UNIX shell的重要組成部分。使用bash和其他類似的shells,可以得到一些很有用的功能,例如,管道,文件名通配符和從文件中讀取命令,也就是腳本。


讓我們在實際操作中來介紹命令行的強大功能吧。每當用戶登陸某服務后,他們的用戶名都被記錄到一個文本文件。例如,我們來看看有多少獨立用戶曾經使用過該服務。

以下一系列的命令展現了由一個個小的命令串接起來后所實現的強大功能:
 

$ cat names.log | sort | uniq | wc -l

管道符號(|)把一個命令的標準輸出傳送給另外一個命令的標準輸入。在這個例子中,把cat names.log的輸出傳送給sort命令的輸入。sort命令是把每一行按字母順序重新排序。接下來,管道把輸出傳送至uniq命令,它可以刪除重復名字。最后,uniq的輸出又傳送給wc命令。wc是一個字符計數命令,使用-l參數,可以返回行的數量。管道可以讓你把一系列的命令串接在一起。


但是,有時候需求會很復雜,串接命令會變得十分笨重。在這個情況下,shell腳本可以解決這個問題。shell腳本就是一系列的命令,被shell程序所讀取,并按順序執行。Shell腳本同樣支持一些編程語言的特性,例如變量,流程控制和數據結構。shell腳步對于經常重復運行的批處理程序非常有用。但是,shell腳本也有一些弱點:

    shell腳本很容易變為復雜的代碼,導致開發人員難于閱讀和修改它們。     通常,它的語法和解釋都不是那么靈活,而且不直觀。     它代碼通常不能被其他腳本使用。腳本中的代碼重用率很低,并且腳本通常是解決一些很具體的問題。     它們一般不支持庫特性,例如HTML解釋器或者處理HTTP請求庫,因為庫一般都只出現在流行的語言和腳本語言中。

這些問題通常會導致腳本變得不靈活,并且浪費開發人員大量的時間。而Python語言作為它的替代品,是相當不錯的選擇。使用python作為shell腳本的替代,通常有很多優勢:

    python在主流的linux發行版本中都被默認安裝。打開命令行,輸入python就可以立刻進入python的世界。這個特性,讓它可以成為大多腳本任務的最好選擇。     python非常容易閱讀,語法容易理解。它的風格注重編寫簡約和干凈的代碼,允許開發人員編寫適合shell腳本的風格代碼。     python是一個解釋性語言,這意味著,不需要編譯。這讓python成為最理想的腳本語言。python同時還是讀取,演繹,輸出的循環風格,這允許開發人員可以快速的通過解釋器嘗試新的代碼。開發人員無需重新編寫整個程序,就可以實現自己的一些想法。     python是一個功能齊全的編程語言。代碼重用非常簡單,因為python模塊可以在腳本中方便的導入和使用。腳本可以輕易的擴展。     python可以訪問優秀的標準庫,還有大量的實現多種功能的第三方庫。例如解釋器和請求庫。例如,python的標準庫包含時間庫,允許我們把時間轉換為我們想要的各種格式,而且可以和其他日期做比較。     python可以是命令鏈中的一部分。python不能完全代替bash。python程序可以像UNIX風格那樣(從標準輸入讀取,從標準輸出中輸出),所以python程序可以實現一些shell命令,例如cat和sort。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐业县| 长乐市| 三江| 长岭县| 黔东| 梓潼县| 辽阳市| 合作市| 屏边| 新丰县| 桦甸市| 虎林市| 阳原县| 常宁市| 开阳县| 平定县| 诏安县| 毕节市| 吉木乃县| 漳浦县| 北辰区| 遵义县| 万年县| 东丽区| 丁青县| 洞口县| 鞍山市| 宜宾市| 英德市| 烟台市| 沁水县| 增城市| 旬邑县| 咸丰县| 平罗县| 双牌县| 盱眙县| 湟源县| 潢川县| 兴文县| 泾源县|