偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

X皮書之shell熱身

開發(fā) 開發(fā)工具
學(xué)習(xí)如何編寫shell腳本并不是一件很困難的事,因為腳本可以分為很小的塊,并且相對于shell特性的操作,只需要學(xué)習(xí)很小的一部分就可以了。

最近想看看shell方面的內(nèi)容,看到有一篇介紹shell的文檔,不錯。遂按照自己的方式整理如下,與大家分享。

介紹

如果你想適當精通一些系統(tǒng)管理知識,那么掌握shell腳本應(yīng)該是最基本的。即使你可能并不打算真正的編寫一些腳本。

曾經(jīng)有人問我,你學(xué)那么多的編程語言,你覺得語言有那么重要嗎?我現(xiàn)在用下面的話告訴你:

沒有程序語言是完美的,甚至沒有一個唯一最好的語言,只有對于特定目的,比較合適和不適合的程序語言。—— Herbert Mayer

腳本不難

學(xué)習(xí)如何編寫shell腳本并不是一件很困難的事,因為腳本可以分為很小的塊,并且相對于shell特性的操作,只需要學(xué)習(xí)很小的一部分就可以了。

語法是簡單并且直觀的,編寫腳本很像是在命令行上把一些相關(guān)命令和工具鏈接起來,并且只有很少的一部分規(guī)則需要學(xué)習(xí)。它可以通過將系統(tǒng)調(diào)用,公共程序,工具和編譯過的的二進制程序粘合在一起來建立應(yīng)用。

絕大部分腳本第一次就可以正常的工作,而且即使調(diào)試一個長一些的腳本也是很直觀的。

[[101285]]

帶著一個"#!"出發(fā)

一個shell腳本其實就是將一堆系統(tǒng)命令列在一個文件中。

最基本的用處:

在你每次輸入這些特定順序的命令時可以減少敲一些字。

如:清除/home/www/shell/log下的log文件

 [[101286]]

一個改良的腳本

現(xiàn)在,讓我們看一下一個真正意義上的腳本,而且我們可以走的更遠...

當然上面的#!也可以被忽略,不過這樣你的腳本就只能是一些命令的集合,不能夠使用shell內(nèi)建的指令了。比如變量,如果不能使用變量的話,當然這也就失去了腳本編程的意義了。

注意:

這個例子鼓勵你使用模塊化的方式來編寫腳本,平時也要注意收集一些零碎的代碼,這些零碎的代碼可能用在你將來編寫的腳本中。——這樣你就可以通過這些代碼片段來構(gòu)造一個較大的工程用例。

調(diào)用一個腳本

編寫完腳本之后,你可以使用sh scriptname,或者bash scriptname來調(diào)用它。

不推薦使用sh scriptname,因為這禁用了腳本從stdin中讀數(shù)據(jù)的功能。

更方便的方法是讓腳本具有可執(zhí)行權(quán)限,然后直接運行腳本文件,如./scriptname

通過chmod修改腳本權(quán)限

  chmod 555 scriptname
  chmod +rx scriptname
  chmod u+rx scriptname

[[101287]]

什么時候不用shell

1、資源密集型的任務(wù),尤其在需要考慮效率時(比如排序,hash等等)

2、需要處理大任務(wù)的數(shù)學(xué)操作,尤其是浮點運算、精確運算或者復(fù)雜的算術(shù)運算(這種情況一般使用C或者C++)

3、有跨平臺移植技術(shù)(一般使用C或Java)

4、復(fù)雜的應(yīng)用,在必須使用結(jié)構(gòu)化編程的時候(需要檢查變量的類型檢查、函數(shù)原型等等)

5、對于影響系統(tǒng)全局性的關(guān)鍵任務(wù)應(yīng)用

6、對于安全有很高要求的任務(wù),比如你需要一個健壯的系統(tǒng)來防止入侵、破解、惡意破壞等

7、項目連串的依賴各個部分組成

8、需要大規(guī)模的文件操作

9、需要多維數(shù)組的支持

10、需要數(shù)據(jù)結(jié)構(gòu)的支持,比如鏈表

11、需要產(chǎn)生或操作圖形化界面GUI

12、需要直接操作系統(tǒng)硬件

13、需要I/O或socket結(jié)構(gòu)

14、需要使用庫或者遺留下來的老代碼的接口

15、私人的、閉源的應(yīng)用(shell腳本把代碼就放在文本文件中,全世界都能看到)

[[101288]]

原文鏈接:http://www.cnblogs.com/baochuan/archive/2012/10/23/2735510.html

責任編輯:張偉 來源: 川山甲的博客
相關(guān)推薦

2012-10-29 10:05:41

PHPshell語言

2009-10-23 13:44:03

linux Shell

2010-06-01 18:03:05

Rsync 使用

2013-02-26 09:14:52

2009-06-05 12:10:43

IT人才IT培訓(xùn)熱身

2010-03-02 10:43:45

Linux進程狀態(tài)

2011-02-20 22:23:43

X86虛擬化XenServer

2018-09-14 12:03:23

開放數(shù)據(jù)中心峰會

2009-10-27 15:18:45

linux腳本Shel

2022-07-24 13:55:12

shell操作系統(tǒng)程序員

2010-09-01 10:16:56

HTML 5

2013-11-07 10:11:47

創(chuàng)業(yè)公司創(chuàng)業(yè)者

2009-07-15 18:06:50

全運會浪潮信息系統(tǒng)

2010-03-20 11:03:13

VMControl虛擬化管理

2009-07-31 16:31:05

ibmdwPowerVM

2011-12-14 18:14:25

SAP

2012-08-02 13:03:24

Mac OS X操作系統(tǒng)

2023-02-23 10:11:15

OKR項目管理

2021-02-28 10:11:31

HelloWorldSSMSpringboot

2013-12-16 10:58:40

點贊
收藏

51CTO技術(shù)棧公眾號