Shell程式設計6 變數

2021-08-21 03:15:25 字數 3072 閱讀 3783

變數是在程式執行過程中它的值是允許改變的量;

變數是一串固定的字元來表示不固定的值的一種方法;

變數是一鐘使用方便的佔位符,用語音用計算機的記憶體位址,改位址可以儲存指令碼執行時刻更改的程式資訊;

在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 指定路徑或修改環境變數...