變數是在程式執行過程中它的值是允許改變的量;
變數是一串固定的字元來表示不固定的值的一種方法;
變數是一鐘使用方便的佔位符,用語音用計算機的記憶體位址,改位址可以儲存指令碼執行時刻更改的程式資訊;
在shell中變數是不能永久儲存在系統中的,必須在檔案中宣告。
共有三類:
環境級變數 - - - 只在當前shell生效,shell關閉變數丟失
使用者級變數 - - - 寫在使用者的 骨檔案中,只針對當前使用者生效
系統級變數 - - - 寫在系統的配置檔案中,對所有為使用者生效
env 檢視當前系統的所有變數
只在當前shell生效,shell關閉變數丟失
export
寫在使用者的 骨檔案中,只針對當前使用者生效,切換使用者無效
cd ~
ls -a|a
vim .bash_profile
--->>export xiaofang=888
source .bash_profile 當前環境重新讀取該檔案
寫在系統的配置檔案中,對所有為使用者生效
vim /etc/profile
--->>export xiaofang=999
source /etc/profile
變數名稱中通常包含大小寫字母,數字,下劃線(非必須)
以下是合法的變數名稱:
westos_linux
westos_linux
westos_linux
\ 轉義單個字元
"" 弱引用,批量轉義""中出現的字元
'' 強引用,批量轉義''中出現的字元
''與"" 兩者的區別在於,""不能轉義\,`,!,$
${} 變數宣告
$1 指令碼後第一串字元
$2 指令碼後第二串字元
$3 指令碼後第三串字元
$# 指令碼後所有字元的總個數
$* 指令碼後所有的字串;模式為"1 2 3"
$@ 指令碼後跟的左右字串;模式為"1"
"2""3"
read [westos] ##回車後彈出輸入框直接輸入westos,westos會顯示
read
-s [westos] ##回車後彈出輸入框直接輸入westos,westos不顯示,隱藏
read -p "input:"
##設定輸入框提示資訊,輸入會顯示
read -sp "input:"
##設定輸入框提示資訊,輸入不會顯示
將當前時間賦給today
today=`date`
echo
$today
其中
$?是命令在執行完成之後產生的退出值,範圍【0-255】
當$?=0時表示命令執行沒有錯誤輸出,這個值可以用exit命令執行
例如 exit
指令碼中的函式時把乙個複雜的語句塊定義成乙個字串的方法
host_message
()host_message
以vim為例
環境級
alias xie=『vim『
使用者級
vim /root/.bashrc
alias xie=』vim』
source /root/.bashrc
系統級
vim /etc/bashrc
alias xie=』vim』
source /etc/bashrc
取消設定
從檔案刪除
unalias xie=』vim』
字串
$
##統計字串的長度
#!/bin/bash
v1="this is test shell script."
echo
$
$ 從position開始擷取字串
用法類似切片
#!/bin/bash
v1="this is test shell script."
echo
$
$ 從position開始取長度為length的字串
#!/bin/bash
v1="this is test shell script."
echo
$
$從開頭刪除最短匹配字串
$從開頭刪除最長匹配字串
$從結尾刪除最短匹配字串
$從結尾刪除最長匹配字串
$刪除從test開始到.的所有字元(最短匹配)
$刪除從test開始到.的所有字元(最長匹配)
Shell 程式設計 變數
bin bash 特殊用法,告訴執行指令碼的直譯器 注釋符號 執行指令碼 test.sh 使用絕對路徑 root path test.sh 使用直譯器執行 bash test.sh shell 變數 是傳遞資料的是一種方法,變數是用來代表每個值的符號名 臨時變數 shell 程式內部程式定義的,使用...
Shell程式設計 變數
name value name是變數名,value是變數的值,比如name zdd,注意,shell定義變數的時候不需要加 而使用變數的時候則需要加 這點和perl是有區別的,perl定義變數的時候也需要 符號。定義變數的時候要注意以下幾點。訪問乙個變數的時候只要在其前面加乙個 即可,比如echo ...
shell程式設計 變數
shell指令碼語言是解釋型語言,shell指令碼就是shell命令的有序集合 直接在命令列上條用shell程式1 date 2 hostname step2 賦予執行許可權 chmod u x prog1.sh step3 執行該shell程式 prog1.sh step4 指定路徑或修改環境變數...