shell指令碼中的變數及應用
1.變數的定義
1)定義本身
變數就是記憶體一片區域的地址
2)變數存在的意義
命令無法操作一直變化的目標
用一串固定的字元來表示不固定的目標可以解決此問題
2.shell指令碼中變數的定義方法
1)環境級別
export westos=1
在環境關閉後變數失效
2)使用者級別
vim ~/.bash_profile
export westos=1
3)系統級別
vim /etc/profile
export westos=1
4)變數名稱
“字元” “_” “數字”
不能用數字開頭
建議:
變數名稱短全用大寫字元
變數名稱長用_區分子類
WESTOS
Westos_Redhat
Westos_Linux
3.變數的轉譯
1)轉譯
\ #轉譯單個字元
“” #弱引用,批量轉譯個數字符 不能轉譯"" “`” “$” “!”
‘’ #強引用
2)宣告
a=1
echo $ab
echo ${a}b
3)變數的陣列
a=(1 2 3 4 5)
echo ${a[0]}
echo ${a[-1]}
echo ${a[*]}
echo ${a[@]}
echo ${a[@]:0:3}
echo ${#a[@]}
create_user.sh userfile
userfile用的使用者會被全部建立
判斷檔案內容是否為空;
是否在root使用者下進行操作;
for迴圈建立檔案中的使用者
4.Linux中命令的別名設定
alias xie=‘vim’ ##臨時設定
輸入命令xie即進入
vim ~/.bashrc
alias xie=‘vim’ ##只針對與使用者生效
vim /etc/bashrc ##針對系統所以使用者生效
alias xie=‘vim’
unalias xie ##刪除當前環境中的alias
5.使用者環境變數的更改
環境變數:
使用者在作業系統時使用到的命令搜尋路徑
設定方式:
~/.bash_profile
export PATH=$PATH:/mnt
/etc/bash_profile
export PATH=$PATH:/mnt
6.利用命令的執行結果設定變數
1)直接利用命令執行結果
$()|`` ##優先執行
TEST=`hostname` TEST=$(hostname)
2)指令碼中的傳參
非互動模式:
sh /mnt/test.sh westos linux redhat
$0 is /mnt/test.sh | 指令碼本身 |
---|---|
$1 is westos | 指令碼後所輸入的第一串字元 |
$2 is linux | 指令碼後所輸入的第二串字元 |
$2 is linux | 指令碼後所輸入的第三串字元 |
$* is westos linux redhat | 指令碼後所輸入的所有字元"westos linux redhat |
$@ is westos linux redhat | 指令碼後所輸入的所有字元’westos’ ‘linux’ ‘redhat’ |
$# is 3 | 指令碼後所輸入的字串個數 |
互動模式傳參:
read WESTOS | 對westos賦值 |
---|---|
read -p “please input word:” | 輸出提示語 |
-s | 隱藏輸入內容 |
7.指令碼函式
定義:
程式的別名
設定方式:
WORD()
{
action1
action2
}
WORD 在指令碼中就代表action1 action2這兩個動作
sh指令碼檔案時,互動傳參中輸入linux返回westos,輸入westos返回linux,輸入exit退出
相關文章
- shell指令碼之變數定義規範及使用指令碼變數
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- Shell指令碼應用(三)指令碼
- [轉]Shell向Perl指令碼中傳遞變數的方法指令碼變數
- Shell指令碼基本編輯規範及變數(詳細)指令碼變數
- Shell指令碼應用兩個例子指令碼
- 使用shell指令碼在Linux中管理Java應用程式指令碼LinuxJava
- 用於管理應用程式得shell指令碼指令碼
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- Shell指令碼之for迴圈語句的應用指令碼
- 【Linux】什麼是shell指令碼?shell變數分為哪幾類?Linux指令碼變數
- Shell指令碼應用 – for、while迴圈語句指令碼While
- shell指令碼程式設計學習筆記——變數指令碼程式設計筆記變數
- linux shell指令碼中 =~ 的作用Linux指令碼
- CentOS shell中的變數CentOS變數
- Shell 中 $ 關於指令碼引數的幾種用法指令碼
- 幾例實用的Shell指令碼指令碼
- 如何呼叫python中的shell指令碼?Python指令碼
- Shell指令碼中的 /Dev/Null 用途指令碼devNull
- Shell指令碼——Linux系統中的時間猜數字指令碼Linux
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- 9個實用shell指令碼指令碼
- 分享兩個實用的shell指令碼指令碼
- 什麼是Shell指令碼?Shell指令碼在Linux運維工作中的地位!指令碼Linux運維
- shell的引數和指令碼流程改進指令碼
- 技能篇:shell教程及指令碼編寫指令碼
- shell study-3day--shell變數及例項3D變數
- shell指令碼指令碼
- Shell 指令碼中的exit狀態解釋指令碼
- 注意shell指令碼中ps -ef|grep的坑指令碼
- Shell 指令碼程式併發&程式數控制指令碼
- bash shell指令碼接受多個引數指令碼
- shell指令碼中cd命令無效指令碼
- linux常用的shell指令碼Linux指令碼
- shell指令碼案例指令碼
- 常用shell指令碼指令碼
- Linux Shell指令碼Linux指令碼
- shell指令碼(6)-shell陣列指令碼陣列