1. 程式人生 > >shell編程(一)

shell編程(一)

shell基礎 變量 引用變量

博文地址:http://keep88.blog.51cto.com

博主姓名:李常明

此筆記出自------跟老男孩學linux運維 《shell編程實戰》

目錄:

shell變量的核心基礎知識與實踐

1、變量類型:

環境變量(全局變量)和普通變量(局部變量)

2、自定義環境變量:

1)、設置環境變量(全局變量)的幾種方法:

例:

(1)、export  變量名 ="value"
(2)、變量名 =“value”;export 變量名
(3)、declare -x  變量名 =“value”

以上是三種設置全局變量的方法,如果想要重新啟動後繼續生效,將任意一種設置為全局變量存入“全局環境變量的配置文件中”

1)、全局環境變量的配置文件如下:

/etc/profile
/etc/bashrc
/etc/profile.d

2)、用戶的環境變量配置:

/user/.bashrc
/user/.bash_profile

3、設置登錄提示的兩種方式:

1)、[[email protected] ~]# cat /etc/motd
     welcome  to lcm  linux  shell training

登錄後顯示內容如下:

技術分享

2)、[[email protected] ~]# cat /etc/profile.d/lcm.sh
      echo  "here is lcm training.."      #<==  腳本內容

4、用unset取消本地變量和環境變量:

[[email protected] ~]# export  name=‘lichangming‘
[[email protected] ~]# echo $name
lichangming
[[email protected] ~]# unset name
[[email protected]
/* */ ~]# echo $name #<==已取消name的變量

5、變量定義的基本技巧與總結:

註意 ‘’ 單引號 與 雙引號“”的區別

例子:

IP=192.168.1.2
a=192.168.1.2-$IP
b=‘192.168.1.2-$IP‘
c="192.168.1.2-$IP"

echo "a=$a"
echo "b=$b"
echo "c=${c}"

結果如下:
a=192.168.1.2-192.168.1.2
b=192.168.1.2-$IP
c=192.168.1.2-192.168.1.2

從上面的結果分析:

1)、$變量名表示輸出變量,可以用$a 或者${a}兩種用法

使用‘’單引號定義的變量,會將原文輸出。單引號中的變量不會引用,會當成一個字符串輸出

使用“”雙引號定義的變量,如果引用了變量,變量會經過解析後輸出內容。


總結:

數字內容的變量定義可以不加引號,其他沒有特別要求的字符串等定義最好都加上雙引號,如果真的需要原樣輸出就加單引號,定義變量加雙引號是最常見的使用場景

6、使用函數輸出時間:(OS :Centos6.5)

echo  $(date +%F)

技術分享

註:

此上輸出時間表示法,一般會用於持續備份的文件名中標識。

總結:

(1)、變量名及變量內容定義小結:
變量名只能為字母,數字或下劃線,只能以字母或下劃線開頭
變量名的定義要規範,具有用意。
(2)、調用變量的幾種方法:
$變量名
${變量名}
$(變量名)


本文出自 “keep常明” 博客,請務必保留此出處http://keep88.blog.51cto.com/11829099/1930688

shell編程(一)