詳解Linux bash變數
導讀 | 中編寫 必然要接觸到變數,本文對bash中不同的變數型別進行一個簡要說明 |
- 本地變數
- 區域性變數
- 環境變數
- 位置變數
- 特殊變數(內建)
這裡需要注意的是對變數進行賦值時,"="兩邊是不能有空白的,否則就會報錯。
root@ubuntu:~# LIST='/etc' root@ubuntu:~# echo $LIST /etc root@ubuntu:~# LIST = '/etc' LIST: command not found
var_name=value:作用域為整個bash程式可以使用;
變數命名規範:
- 只能含字母、數字和下劃線,並且以字母和下劃線開頭。
- 最好不要跟系統已有的環境變數重名。
- 變數名可充分體現這個變數的作用。
宣告區域性變數使用“local”
,區域性變數作用域只在作用範圍內有效。
local var_name=value:作用域為當前程式碼段
作用域為當前shell程式及其子程式,不能影響到其父程式,宣告環境變數使用“export” 。
export var_name=value
,如果變數已經定義可以只是用變數名 export var_name,即可用下面兩種方式宣告環境變數:
1. export var_name=value
2. var_name=value
export var_name
在執行命令時會啟動一個子shell環境變數:
系統自動執行的指令碼(非命令列啟動)就需要自我定義需要的個環境變數
$1,$2,$3,…… cat first.sh test.txt hello $1: first.sh $2: test.txt $3: hello
shift:踢掉引數
shift n:踢掉n個引數,預設踢掉一個引數
這裡需要注意的是$0為呼叫該指令碼的名字,而引數作為變數的話第10個變數不能直接寫$10,而需要寫成${10}。
$?:上一個命令執行狀態的返回值:
程式執行可能有兩種返回值:
1. 程式執行結果
2. 程式狀態返回嗎(0-255)
0 則為執行正確
1-255 則執行出錯(1,2,127系統預留);
可以自定義返回值來獲取不同的錯誤狀態。
$#:獲取當前shell命令列中引數的總個數
$*:獲取當前shell的所有引數 “$1 $2 $3 …,受IFS控制
$@:這個程式的所有引數 “$1″ “$2″ “$3″ “…”,不受IFS控制
$0 獲取當前執行的shell指令碼的檔名
$n 獲取當前執行的shell指令碼的第n個引數值,n=1..9
$$ 獲取當前shell的程式號(PID)
$! 執行上一個指令的PID
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2935416/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux中bash shell環境變數Linux變數
- shell Bash變數變數
- Linux環境變數詳解與應用Linux變數
- Bash變數和引數變數
- 環境變數詳解變數
- 3.9 solidity變數詳解Solid變數
- shell程式設計–bash變數程式設計變數
- 【Linux】詳解六種配置Linux環境變數的方法(以centos為例)Linux變數CentOS
- cmake兩種變數詳解變數
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- .NET Core 環境變數詳解變數
- shell程式設計–bash變數介紹程式設計變數
- Linux系統環境變數檔案解析(etc/profile ,/etc/bashrc ,~/.bash_profile)Linux變數
- python中變數的命名及詳解Python變數
- Cypress系列(14)- 環境變數詳解變數
- Less(v3.9.0)使用詳解—變數變數
- Golang環境變數設定詳解Golang變數
- C語言可變引數詳解C語言
- [20221111]bash eval設定變數問題.txt變數
- [20200217]bash顯示path環境變數.txt變數
- 14_Linux環境變數講解Linux變數
- 幫助Linux運維十分鐘完成 Bash 指令碼進階!Bash經典用法及其案例詳解列舉!Linux運維指令碼
- Mysql系列第十六講 變數詳解MySql變數
- JavaScript變數與資料型別詳解JavaScript變數資料型別
- jarvisoj phpinfo writeup及注入的變數詳解JARPHP變數
- Nginx變數詳解(學習筆記十九)Nginx變數筆記
- JavaScript數字上下翻動變化詳解JavaScript
- Linux Shell變數Linux變數
- bash shell實現2048小遊戲詳解遊戲
- Linux網路卡配置檔案 引數詳解Linux
- java 之泛型與可變引數詳解Java泛型
- awk內建變數NR與FNR使用詳解變數
- 順風詳解Nginx系列—Ngx中的變數Nginx變數
- Python 關鍵字global全域性變數詳解Python變數
- JS----預編譯及變數提升詳解JS編譯變數
- linux 命令符變數Linux變數
- Linux之shell變數Linux變數
- Linux at命令詳解Linux