Linux_10------Linux之shell編程------變量


shell編程是爲了簡化管理操做

1base變量與變量分類
base是Linux的標準shell

base變量
set查詢系統下全部環境變量
env: 查看系統下環境變量
unset刪除變量
a.什麼是變量與變量分類
變量由字母和下劃線開頭由字母下劃線數字組成
變量名的長度不超過255個字符
變量名在有效範圍內必須是惟一的
在base中變量的默認類型都是字符串型
變量按照存儲數據類型分類字符串型整型浮點型日期型
變量的分類
用戶自定義變量變量自定義的
環境變量保存的是和系統操做環境相關的數據可是對系統生效的環境變量名和變量做用是固定的
位置參數變量主要用來向腳本中傳遞參數和數據變量名不能自定義變量做用是固定的
與定義變量是base中已經定義好的變量變量名不能自定義變量做用也是固定的
b.用戶自定義變量
定義變量變量名=變量值等號兩側沒有空格
變量調用echo $變量名
變量默認字符串類型
變量疊加x="$x"456或者x=${x}456
set查詢系統下全部環境變量
unset刪除變量
c.環境變量
環境變量是全局變量用戶自定義變量只在當前shell生效
對系統生效的環境變量名和變量做用是固定的
設定環境變量export 變量名=變量值 或者 變量名=變量值 export 變量名
env: 查看系統下環境變量
經常使用環境變量
BASE/SHELL/HOSTNAME/HOSTSIZE/SSH_CLIENT/USER/PATH/HOME/LANG等
建議環境變量大寫
PATH:系統搜索命令路徑目錄PATH="$PATH":/usr/local/apache
想要永久生效須要把內容寫入文件裏面
PS1環境變量: \u,\A,\h,\W,\w,\s,

語系變量
當前語系查詢locale
LANG:定義系統主語系的變量
LC_ALL:定義總體語系的變量
cat /etc/sysconfig/i18n 系統默認語系
d.位置參數變量
$n,n爲數字,1-9
vim num.sh
#! /bin/bash
num1=$1
num2=$2
sum=$(($num1+$num2))
#變量sum是num1和num2的綜合
echo $sum

執行 ./num.sh 11 22


$*,這個變量表明命令行中全部的參數$*把全部的參數當作一個總體

$@,這個變量也表明命令行中全部的參數不過$@吧每一個參數區分對待

$#,這個變量表明命令行中全部參數的個數


e.預約義變量
$?,最後一次執行的命令的返回狀態若是這個變量的值爲0證實上一個命令正確執行若是這個變量的值非0則證實上一個命令執行不正確
$$,當前進程的進程號
$!,後臺運行的最後一個進程的進程號

接受鍵盤輸入
read [選項][變量名]
-p "提示信息"在等待read輸入時輸出提示信息
-t 秒數read命令會等待用戶輸入這裏指定等待時間
-n 字符數read命令只接受指定的字符數就會執行
-s:隱藏輸入的數據使用於機密信息的輸入

vim read.sh
#! /bin/bash

read "please input your name:" -t 30 name
echo $name

read "please input your pass:" -t 30 -s pass
echo pass
相關文章
相關標籤/搜索