小知識點

兩種學習方式

你想學習shell腳本編程,這很不錯。於是你拿了一本書開始學習。一些人會首先通讀整本教材後再上機練習。這種方法可能適用於一些人,但我卻不太看好它。我的建議是,僅僅學一些最基礎的能夠讓你開始編碼的知識就可以了。之後,動手寫一些簡單的程序吧。一旦你由於知識上的欠缺而不得不停止時,再回到書本上去讀你想要了解的那部分,然後繼續做你的項目。如此周而復始,不斷提高你的水平。這種邊學邊做的方法曾讓我受益良多。


Linux系統腳本的三種執行方式(4種)

1 source bash_profile   . bash_profile兩者等效   不需要執行權限

2 bash bash_profile   不需要執行權限

3 ./filename          需要執行權限


shell中的常規文件是指-rwxrwxrwx,有減號就是

#stat 文件名 便可以看出 有regular file標誌的就是

文件類型對應於上面的st_mode, 文件類型有很多,比如常規文件、符號鏈接(硬鏈接、軟鏈接)、管道文件、設備文件(符號設備、塊設備)、socket文件等,不同的文件類型對應不同的功能和作用。

七種文件類型 -常規文件,d目錄,l符號鏈接,b塊設備,c字符設備,s套接字,p管道

四個引用符號  " ' ` \

四個shell命令執行順序符號 &&,||,(),{}


變量名=值
取出變量值可以加一個美元符號($)在變量前面

變量名不可以直接和其他字符相連,如果想相連,必須用括號:

#num=2

#echo “this is $(num)nd!”

五種變量賦值方法:使用read命令,直接賦值,使用命令行參數,使用命令行的輸出結果,從文件讀取。

env與set的區別

env用於顯示用戶環境區中的變量及其取值;set用於顯示本地數據區和用戶環境區中的變量及其取值;unset用於刪除指定變量當前的取值,該值將被指定爲NULL;export命令用於將本地數據區中的變量轉移到用戶環境區。

新的變量會在本地數據區分配內存進行存儲,這個變量歸當前的Shell所有,任何子進 程都不能訪問本地變量。這些變量與環境變量不同,環境變量被存儲在另一內存區,叫做用戶環境區,這塊內存中的變量可以被子進程訪問

env(查看全局環境變量)

set(顯示爲某個特定進程設置的所有環境變量,包括全局變量,剩下的爲局部變量)


四種變量類型

環境變量(也叫shell變量)  是一類Shell預定義變量。環境變量由系統統一命名,全部大寫。部分系統變量的值由系統設定,部分環境變量的值可以由用戶給定。由export關鍵字處理過的變量叫做環境變量。因爲通常情況下僅僅在登錄腳本中使用環境變量。

位置變量(也叫shell參數)  函數,腳本等都需要參數,就是用來獲得這些參數的。相當於其它編程語言的形參

$0 $1 $2 $3 $4 $5 $6 $7 $8 $9

特殊變量(預定義變量)  $! $* $# $? $$ $@

自定義變量


登錄shell
會從4個不同的啓動文件裏讀取命令,順序依次爲:
/etc/profile
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
其中/etc/profile是系統上默認的bash shell的主啓動文件,另外三個是用戶專有
$HOME.profile中會檢查系統上有沒有$HOME/.bashrc文件,如果有則執行


RETVAL=$?  是將前面的執行結果賦給retval

沒有規定在設置變量時一定要用雙引號,但在進行字符串比較時必須這樣做

當使用字符時,應總是使用雙引號,無論它是單個字符串或是多個單詞。


echo -n "Enter your name:"  //參數-n的作用是不換行,echo默認是換行

要使轉義符生效,需加參數-e

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章