variable=22bash
echo variablethis
能夠在同一行設置多個變量.例如code
va1=good va2=chif va3=beijing #須要用空格隔開,會下降可讀性和可移植性字符串
variableit
echo $variable #變量替換變量
22file
變量替換例子引用
logfile=err.logdi
echo 「this is a err」 > $logfile環境變量
$variable是${variable}的簡寫形式
variable=value #賦值的時候=先後不能有空格,
variable =value #variable會被當作命令,=22成爲命令參數
variable= value #value被當成命令執行,而且附帶一個被賦值爲空的環境變量variable
‘$variable’單引號全引用 - 變量替換會被阻止
「$variable」雙引號半引用 -變量替換會發生
!/bin/bash
hello="A B C D"
echo $hello # 顯示 A B C D 變量替換不會保留空格
echo "$hello" # 顯示A B C D 變量引用會保留空格,變量替換髮生
echo ‘$hello’ #顯示$hello, 半引用,變量替換不會發生
A B C D
A B C D
$hello
[root@rhel download]# more show_va.sh
!/bin/bash
echo hello
echo $hello
echo "$hello"
echo "${hello}"
hello="A B C D"
echo $hello
echo "$hello"
echo '$hello'
va1=22 va2=33 va3=55
echo "va1=$va1 va2=$va2 va3=$va3"
#o_nu=1 2 3
#echo "o_nu is $o_nu"
o_nu=1\ 2\ 3
echo "o_nu is $o_nu"
un_o= #聲明變量,但沒有初始化,未賦值的變量爲null,不可理解爲0
echo $un_0
一個變量的值能夠做爲某個長字符串中的一部分。若是它在長字符串的末尾,就可直接引用,例:
$s=ing
$echo read$s and writ$s
若是在開頭或中間,應該用花括號將該變量括起來:
$dir=/usr/zhang
$cat ${dir}hr/m1.c
2.命令替換
能夠將一個命令的執行結果賦值給變量,兩種形式:
(1)倒引號
`命令表`
例:$dir=`pwd`
(2)圓括號
$(命令表)
例:$dir=$(pwd)
for
line
in
`
cat
file
.txt` 等價於$(cat file.txt)
do
echo
$line
done