1.什麼是變數?
變數是計算機的記憶體單元,裡面可以儲存值。
2.變數設定規則
(1)字母、數字、下劃線,但是不能以數字開頭
(2)在bash中,變數的預設型別都是字串型,如果需要進行數值運算,則必須指定變數型別為數值型。
(3)變數用等號連線時候,等號左右不能有空格
(4)如果變數的值裡有空格,則需要用引號括起來
(5)變數的值中可以用\作為轉義符
(6)如果需要增加變數的值,則需要進行變數值的疊加,不過變數需要用雙引號包含"$變數名"或用"$"包含
(7)命令的結果作為變數則需要用 $()
(8)建議環境變數名大寫,編譯區分
3.變數分類
(1)使用者自定義變數
(3)位置引數變數:像指令碼中傳遞引數和資料,變數名不能自定義,變數作用是固定的
(4)預定義變數: 是bash中已經定義號的變數,變數名不能自定義,變數作用也是固定的
4.本地變數(使用者自定義變數)
定義:name=smallone
變數疊加: aa=123 aa="$aa"456 也可以 aa=$789
變數呼叫:echo $變數名
變數檢視:set 檢視所有變數
變數刪除:unset 變數名
5.環境變數
環境變數是什麼
使用者自定義變數只在當前的she'l'l中生效。二環境變數會在當前shell和這個shell的子shell中生效。如果把環境變數寫入響
應的配置檔案,那麼這個環境變數就會在所有shell中生效
設定環境變數
export 變數名=變數值 pstree可以看程序樹,如何定義子shell,在當前shell裡打bash
env 查詢環境
unset 刪除變數
常見環境變數
(1)path 系統查詢命令的路徑。
(2)ps1 提示符,就是你命令列裡的提示符,比如 root@root]# 這種 echo $ps1 看當前提示形式
\d \h \t \t \a \u \w \w
6.位置引數變數
$n n為水,$0代表命令本身,$1-9代表第乙個到第九個引數,十以上,則需要 $ ,目的為了接收使用者向程式傳遞的值
$* 代表命令列中所有引數,把所有引數看作乙個整體 它只相當於乙個值
$@ 也代表命令列中所有引數,不過$@把每個引數區分對待 它相當於引數陣列
$# 代表命令列中所有引數的個數
7.預定義變數
$? 判斷上一次執行的命令的返回狀態,如果變數值為0 則是正確執行 如果返回不是0 則上個命令沒正確執行
$$ 當前程序的pid
$! 後台執行的最後乙個程序的pid
在一條命令最後加 & 符號 代表把程序加入後台執行
接收鍵盤輸入
read [選項] [變數名]
-p 提示資訊 在等待read輸入時,輸出提示資訊
-t 秒數 read命令會一直等待使用者輸入,這個可以指定等待時間
-n 字元數 只接受指定字元數,就執行命令
-s 隱藏輸入的資料,適用於機密資訊的輸入
8.數值運算與運算子
declare 宣告變數型別
declare [+-] [選項] 變數名
- 給變數設定型別屬性
+ 取消變數設定型別屬
-i 變數設定為整數型
-x 將變數宣告為環境變數
-p 顯示指定變數的被宣告的型別
使用expr 和let數值運算工具
dd=$(expr $aa + $bb) +號左右兩側必須有空格
推薦使用方法3
$((表示式)) 或者$[表示式]
9.變數測試與內容替換
Linux學習 shell基礎04
1.source命令 source 配置檔案 相當於使配置檔案生效 配置檔案 這個就算 source 配置檔案 2.環境變數配置檔案簡介 主要定義對系統的操作環境生效的系統的預設環境變數,比如path histsize ps1 hostname等 配置檔案 etc profile etc profi...
Shell基礎 學習
cat 檔名 輸出檔案內容到基本輸出 螢幕 or 加 filename 到另乙個檔案 cb 格式化源 chmod change mode,改變檔案的許可權 cp copy date 當前的時間和日期 echo ab c在變數 賦值之後 只需在 變數前面 加乙個 去引用.lint 語法檢查程式 ls ...
0基礎學習for迴圈
其實一開始我在學習for迴圈的時候是學的一臉懵逼的,也是花了一段時間才完全搞懂。for迴圈的作用就是在滿足所需條件的情況下不斷迴圈。for語句的格式如下 for 表示式1 表示式2 表示式3 迴圈體 在實際應用中,如果重複執行的操作 迴圈體 的次數是固定的 已知的,則一般使用for語句。for語句的...