>[success] # shell 變量
~~~
1.變量必須以字母或下劃線開頭,名字中間只能由字母,數字和下劃線組成
2.變量名的長度不得超過255個字符
3.變量名在有效范圍內必須唯一
4.變量默認類型都是字符串
5.等號左右兩邊不能有空格
6.變量的類型: '字符串'、'整型'、'浮點型'、'日期型'
~~~
>[info] ## 定義變量 和 輸出變量
>[danger] ##### 定義變量
~~~
1.如果變量不包含任何空白符(例如空格、Tab 縮進等),那么可以不使用引號;
2.如果 value 包含了空白符,那么就必須使用引號包圍起來。
2.1.以單引號' '包圍變量的值時,單引號里面是什么就輸出什么這種方式比較適合定義顯示純字符串的情況,
即不希望解析變量、命令等的場景
2.2.以雙引號" "包圍變量的值時,輸出時會先解析里面的變量和命令,而不是把雙引號中的變量名和命令原樣輸出。
這種方式比較適合字符串中附帶有變量和命令并且想將其解析后再輸出的變量定義。
~~~
>[danger] ##### 輸出變量
~~~
1.輸出變量值'$變量名' 或者 '${變量名}' ,變量名外面的花括號{ }是可選的,加不加都行,加花括號是為了幫助
解釋器識別變量的邊界,舉個例子
skill="Java"
echo "I am good at ${skill}Script"
如果不給 skill 變量加花括號,寫成echo "I am good at $skillScript",解釋器就會把 $skillScript 當成一個變量
(其值為空),代碼執行結果就不是我們期望的樣子了。
2.引用變量 '${變量名} '
~~~
>[danger] ##### 舉例子
~~~
num1='1'
num2=1
num3="num1"
num4="$num1"
num5="${num1}"
echo $num1;echo $num2;echo $num3;echo $num4;echo $num5
// 輸出結果
1 1 num1 1 1
~~~
>[info] ## 定義只讀變量
~~~
1.使用 readonly 命令可以將變量定義為只讀變量,只讀變量的值不能被改變。下面的例子會報錯因為只讀不能賦值
myUrl="/d/file/202003/tnqgclnw4zm1221"
readonly myUrl
myUrl="/d/file/202003/tnqgclnw4zm1221"
~~~
>[info] ## 查看變量 -- set / 刪除變量 -- unset
~~~
1.查詢系統中默認所有已經生效的變量,包括系統變量,也包括自定義變量,直接'set' 查看全部變量
2.'set|grep num1' 查找生效變量中有num1的
3.刪除變量'unset 變量名',刪除'unset a' 變量為a的,unset 命令不能刪除只讀變量。
~~~
>[danger] ##### 語系環境變量 -- locale
~~~
1.查詢當前系統語系'locale'
2.在Linux中通過locale來設置程序運行的不同語言環境,locale由ANSI C提供支持。
locale的命名規則為<語言>_<地區>.<字符集編碼>,如zh_CN.UTF-8,zh代表中文,
CN代表大陸地區,UTF-8表示字符集。
3.LANG: 定義系統主語系的變量
// 舉個例子
locale
LANG=zh_CN.UTF-8
echo $LANG
~~~
- 安裝-VMware 虛擬機
- 遠程連接
- Windows -- wsl
- Linux -- 認識 Linux 和操作系統
- Linux -- Linux 和 windows 對比
- Linux -- 命令提示符
- Linux -- 文件目錄
- Linux -- 文件類型
- Linux -- 絕對和相對路徑
- Linux -- 常用快捷鍵
- Linux -- 三種幫助命令
- 幫助命令 -- man
- 幫助命令 -- help
- 幫助命令 -- info
- Linux -- 指令
- alias -- 設置別名
- history -- 查看歷史命令
- cd -- 更改目錄(切換文件夾)
- pwd -- 打印目錄
- ls -- 列出文件內容
- mkdir -- 創建文件夾
- rmdir -- 刪除一個空的目錄
- touch -- 創建普通文件/修改時間
- cp -- 復制粘貼
- mv -- 移動和重名
- rm -- 刪除
- cat/tac -- 查看純文本文件
- more/less -- 分頁讀取信息
- head -- 從文本開頭查看
- tail -- 從文本結尾查看
- cut -- 提取片段
- sort -- 排序
- uniq -- 去重
- wc -- 統計文件的行數、單詞、字節數
- tr -- 替換、縮減或刪除字符
- find -- 文件查找
- grep -- 文件當中匹配字符
- 管道 -- |
- locate -- 第三方文件查找
- whereis -- 查找二進制/源代碼文件 路徑
- which -- 查找環境變量
- 壓縮和解壓
- ln -- 鏈接
- wget -- 下載指定的url資源
- 重定向 -- << /< />/> >
- 邏輯控制 -- &&
- echo -- 輸出指定內容
- date/cal -- 查看日期和日歷
- Linux -- 進程管理
- Linux-- ps 指令
- vi/vim - 文本編輯器
- 更多
- Linux-- 開關機命令
- Liunx -- 退出登錄
- Linux-- 查看登錄用戶信息
- Linux -- 環境變量
- Linux -- 用戶
- Linux -- 文件管理
- 文件權限設置 -- chmod
- 更改文件的擁有者 -- chown
- 默認權限 -- umask
- Linux -- 用戶
- 新建/刪除用戶 -- useradd/userdel
- 修改用戶屬性 -- usermod/chage
- 新建/刪除用戶組 -- groupadd/groupdel
- 用戶切換 -- su/sudo
- 用戶/用戶組的配置文件
- 用戶家目錄被刪除解決
- last、 lastlog命令查看用戶詳細的登錄信息
- Linux -- shell
- Linux -- 管道符號
- shell -- 執行
- shell -- 變量
- shell -- 字符串
- shell -- 數組
- Shell -- declare 設置變量屬性
- shell -- 數學計算
- shell -- 變量作用域
- shell -- 位置參數變量
- shell -- read
- shell - if 語句
- shell -- test
- shell -- case
- Linux -- 循環
- Linux -- 軟件包管理