linux shell學習筆記(二)

1.如何定義變量和給變量賦值

變量名=變量值    注意:“=”的周圍不要有任何空格,否則會出現command not found錯誤。

例:


變量值爲“1+1”,而不是想象中的“2”

在bash中,如果要將算數表達式的數值賦給一個變量們可以使用let命令




將一個變量的值直接賦給另一個變量



將命令的結果值給變量



2.變量命名規則

變量名必須以字母或下劃線“_”開頭,後面跟字母、數字、下劃線,不能有?、*等其他字符。


3.使用printf打印變量的值


%b 相對應的參數被視爲含有要被處理的轉義序列之字符串。
%c ASCII字符。顯示相對應參數的第一個字符
%d, %i 十進制整數
%e 浮點格式
%E 浮點格式
%f 浮點格式
%g %e或%f轉換,看哪一個較短,則刪除結尾的零
%G %E或%f轉換,看哪一個較短,則刪除結尾的零
%o 不帶正負號的八進制值
%s 字符串
%u 不帶正負號的十進制值
%x 不帶正負號的十六進制值,使用a至f表示10至15
%X  不帶正負號的十六進制值,使用A至F表示10至15
%% 字面意義的%

4.使用echo命令打印變量值



可以使用轉義字符與printf命令基本相同,但需要使用“-e”選項激活轉義字符功能。


有時需要使用${}來避免一些歧義。


5.export語句:將指定給它的變量或函數自動輸出到後續命令的執行環境。

語法:export -fnp 變量或函數名稱=變量設置值

-f 選項表示 export一個函數;

-n選項表示將export屬性從指定變量或函數上移除;

-p選項打印當前shell所有輸出變量,與單獨執行export命令結果相同。

例:

JAVA_HOME=/usr/local/jdk

export  $JAVA_HOME

6.如何刪除變量

unset -fv 變量或函數名

-f表示刪除一個已定義的函數;

-v表示刪除一個變量

例:

export  JAVA_HOME=/usr/local/jdk

unset JAVA_HOME

注意:使用unset命令不能刪除一個只讀變量,否則將會出現錯誤。

7.如何檢查變量是否存在

使用類似如下語法,來檢查一個變量是否存在

${varname? Error: the variable is not defined}

上述語句的含義是:(1)如果變量varname已定義且不爲空,則此語句就相當於$varname;

    (2)如果變量varname的值是空,則此語句的值也是空;

    (3)如果varname未定義,則此語句返回一個錯誤,並顯示問號“?”定義信息錯誤“Error: the variable is not defined” 

8.歷史命令history

9.輸入!!來重複執行上一條執行過的命令

10.shell中的擴展,一共8種:大括號擴展,波浪號擴展,參數和變量擴展,命令替換,算術擴展,進程擴展,單詞拆分和文件名擴展。

(1)大括號擴展







比如在主目錄下創建三個目錄,可以使用類似如下語句:

mkdir ~/{dir1,dir2,dir3}




Bash4.0會試圖讓每個生成的量都含有同樣多地位數,如果位數不同就在前面補零。



(2)波浪號可以用來指代你自己的主目錄,或其他人的主目錄

例:

$ cd ~

$ pwd

/home/hx

$cd ~jr  #進入用戶jr的主目錄


11.線束/et目錄下的所有文配置文件:

ls /etc/*.conf


12.創建和使用別名

alias name='command'

例:

alias ll='ls -l'

13.用戶登錄時,登錄shell調用初始化文件和腳本的次序依次是:/etc/profile、/etc/profil.d目錄下的腳本、$/HOME/.bash_profile、$/HOME/.bashrc和/etc/bashrc。










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