Linux學習 - Bash變量
一、用戶自定義變量(本地名)
用戶自定義變量只有在當前的shell中生效
1 定義變量
name="zheng huiwei"
aa=123
2 變量疊加
aa="$aa"456
aa=${aa}789
3 變量調用
echo $name
echo $aa
4 變量查看
set
5 變量刪除
unset name
unset aa
二、環境變量
保存的是和系統操作環境相關的數據,
環境變量會在當前shell和這個shell的所有子shell當中生效,如果把環境變量寫入相應的配置文件,那麽這個環境變量就會在所有的shell中生效。
使用命令:bash可以建立子shell,使用命令:pstree確定進程數
1 申明變量
export 變量名=變量值
或
變量名=變量值
export 變量名
2 查詢變量
env
3 刪除變量
unset 變量名
4 系統常見環境變量
(1)PATH:系統查找命令的路徑
# echo $PATH
/usr/lib/qt-3.3/bin: /usr/local/sbin/: usr/local/bin: /sbin: /bin: /usr/sbin: /usr/bin: /root/bin
註:可以將自己的腳本位置添加到PATH系統查找命令路徑之下
例如我的腳本在/home/zhw/sh/hello.sh中,使用變量疊加命令
PATH="$PATH":/home/zhw/sh 將腳本位置添加到系統查找命令路徑下
(2)PS1:定義系統提示符的變量
提示符 | 功能 | 格式 |
\d | 顯示日期 | “星期 月 日” |
\h | 顯示簡寫主機名 | 默認“localhost” |
\t | 顯示24小時制時間 | “HH:MM:SS” |
\T | 顯示12小時制時間 | “HH:MM:SS” |
\A | 顯示24小時制時間 | “HH:MM” |
\u | 顯示當前用戶名 | |
\w | 顯示當前所在目錄的完整名稱 | |
\W | 顯示當前所在目錄的最後一個目錄 | |
\# | 顯示執行的是第幾個命令 | |
\$ | 提示符 |
root用戶提示“#” 普通用戶提示“$” |
例:
三、位置參數變量
用來向腳本當中傳遞參數或數據,變量名不能自定義,變量作用是固定的
位置參數變量 | 作用 |
$n |
$0代表命令本身 $1-$9代表第1個到第9個輸入參數 ${10} |
$* | $*把所有的參數看成一個整體 |
$@ | $@把每個參數區分對待 |
$# | 命令行中所有參數的個數 |
四、預定義變量
在Bash中已經定義好的變量,變量名不能自定義,變量作用也是固定的
1 預定義變量
預定義變量 | 作用 |
$? |
最後一次執行的命令的返回狀態 返回0:上一條命令執行正確 返回非0:上一條命令執行錯誤 |
$$ | 當前進程的進程號(PID) |
$! | 後臺最後一個進程的進程號(PID) |
例:$?
例:$$、$!
2 鍵盤輸入接收
read [選項] [變量名]
-p [顯示信息] 在等待read輸入時,輸出提示信息
-t [秒數] 指定read輸入等待時間
-n [字符數] 指定read只接收n個字符輸入
-s 隱藏輸入數據
例
Linux學習 - Bash變量