1. 程式人生 > 其它 >Shell-01-變數

Shell-01-變數




變數

系統常用變數

#!/bin/bash
echo "預設shell: $SHELL"
echo "當前使用者家目錄: $HOME"
echo "內部欄位分隔符: $IFS"
echo "預設語言: $LANG"
echo "預設可執行程式路徑: $PATH"
echo "當前目錄: $PWD"
echo "當前使用者ID: $UID"
echo "當前使用者:  $USER"
echo "歷史命令大小: $HISTSIZE"
echo "隨機生成一個0-32767的整數: $RANDOM"
echo "主機名稱: $HOSTNAME"


#擴充套件知識
#修改歷史命令記錄條數大小
vim /etc/profile
HISTSIZE=10000
source /etc/profile


普通變數和臨時環境變數

#變數等號兩邊不建議空格,不然會出問題
#普通變數定義      VAR=value
#臨時環境變數定義   export VAR=value


#區別
#在當前shell程序中定義的環境變數,其作用域是當前的shell程序
#當用 export 命令匯入到系統環境變數時,則作用域是shell程序以及shell的子程序

不使用export定義變數


使用export定義變數


注意:在執行指令碼的時候,會在當前終端會生成一個子shell去執行指令碼的命令,而不會直接去執行系統命令



位置變數

位置變數是指的shell指令碼或者函式後面跟的 $n 變數

$n 取值範圍 $1 $2 $3 ... $9, 從第10個開始需要使用花括號呼叫 ${10}

shift 命令
執行一次shift命令,位置變數個數就會減一,而變數值會提前一位
也可以理解丟棄當前位置的變數
shift n 可移動n位


特殊變數

$0  指令碼自身名字
$?  上一條命令返回的狀態碼,0為成功,非0則執行失敗
$#  位置引數總數
$*  所有的位置引數被看做成一個字串
$@  所有的位置引數被看做成獨立的字串
$$  當前程序PID
$!  上一條後臺執行的程序的PID


變數的引用

=	  變數賦值
+=	兩個變數相加(相當於字串拼接)
    在Shell中所有的變數預設都是字串型


單引號、雙引號、反撇號

`......`
    反撇號等效於 $(......),相當於先執行命令,在把命令返回結果賦值

單引號和雙引號之間的差別
  單引號會忽略特殊字元
  
  雙引號會解釋特殊字元原有的意義 如 $ 、! 等

轉載請註明出處喲~ https://www.cnblogs.com/lichengguo