第二章 Shell變數及相關操作

2021-06-14 18:22:15 字數 2051 閱讀 2026

第二章 shell變數及相關操作

1、shell變數型別

1)環境變數

①home

使用者主目錄的全路徑名

②path

變數path定義的一些目錄路徑,路徑由冒號分隔

例:新增新路徑

$path=$path:新路徑名

③term

終端型別

④pwd

當前工作目錄的絕對路徑

⑤ps1、ps2

主提示符、輔助提示符

⑥shell

定義shell的直譯器路徑

⑦mail

定義系統信箱的路徑

⑧logname

登入使用者的使用者名稱

⑨uid

當前使用者的uid

2)位置變數

引數的位置:

$命令 引數1 引數2 引數3($0 $1 $2 $3)

需要用shift命令移動位置引數

3)預定義的特殊變數

①$#:實際位置引數個數

②$*:命令列中的所有位置引數組成的字串

③$!:上乙個後台命令對應的程序號

④$?:表示最近一條命令執行後的退出狀態(返回值),為十進位制

⑤$$:當前程序號pid

4)使用者自定義的變數

變數區分大小寫,建議用大寫

2、變數的操作

1)建立變數

變數名=變數值

例:city=beijing     

注:等號前後不可有空格;包含空格需要用雙引號

定義變數的時候不需要加$,而使用變數的時候則需要加$

2)區分變數名

使用大括號來區分變數和其它字元

#order=22

#echo "this is $nd"

tom is 22nd

3)刪除變數

unset刪除變數

3、變數的賦值

1)使用read命令賦值

規則:①多個資料或變數用空格分隔

②若相等,對應賦值

③若變數個數大於輸入個數,沒有輸入的變數取空值

④若變數個數小於輸入個數,將多餘的資料賦值給最後乙個變數 例:

#!/bin/bash

echo -n "請輸入使用者名稱:"

read name

echo "使用者名稱:$name"

2)直接給變數賦值

變數名=變數值

例:city=beijing     

注:等號前後不可有空格;包含空格需要用雙引號

3)使用命令列引數賦值

shell提供位置變數,通過位置引數賦值。當多於9個時,使用shift移位

4)利用命令的輸出結果賦值

將乙個可執行命令的執行結果賦值給乙個變數,使用反引號(')

5)從檔案讀入資料實現賦值

從乙個指定檔案讀入資料並賦值給變數

4、變數的輸出

1)echo命令:直接輸出變數的值

echo $name1 $name2

2)printf命令:格式化輸出變數

與c語言類似

5、陣列變數

1)陣列的定義

宣告陣列並為其賦值:

各個元素以空格分離 或

name[0]="sad"

輸出:echo $

也可以只為某些元素賦值

name=([0]=value0 [3]=value3 [5]=value5)

2)陣列的複製

*和@作用都是提取出整個陣列元素,但是加上雙引號,略有不同

@把原陣列的內容複製到乙個新陣列,新陣列和原來的一樣

*把原陣列中的所有元素當成乙個元素複製到新陣列,生成的新陣列只有乙個元素

3)陣列元素的個數

返回陣列中元素的個數 $

4)陣列元素的長度

返回陣列中指定元素的長度 $

6、算術運算

1)expr命令

有5種算術運算子:+、-、*、/、%

$x=`expr $b / $a`

2)let命令

let x=x+1

3)浮點算術運算

使用bc、awk等命令

第二章 shell變數

檢視所有全域性和區域性變數 delare和set 檢視所有全域性變數 env 定義環境變數 使用者變數在家目錄下的 bash profile和 bashrc中設定 全域性變數在 etc profile和 etc bashrc及 etc profile.d 下的指令碼檔案 登入shell待用流程 et...

第二章 Shell程式設計之變數

bash是linux中的標準shell,因此經常稱bash為shell。預設型別是字串型。變數名與變數值都是使用者自定義的,就是說可以由使用者控制修改的。變數名 變數值 注意 左右不能有空格。echo是最簡單的變數呼叫,也只能用作輸出。如 echo 變數名 例如 x 123 x x 456 x 78...

c 第二章 變數

c 基本算術型別 char 8位 wchar t 16位 short 16位 int 16位 long 32位 float 6位有效數字 double 10位有效數字 long double 10位有效數字 1.8位的塊為乙個位元組,32位為乙個字 2.unsigned無符號型別,表示大於等於0的數...