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。