Shell腳本開發的規范和習慣
1.開頭指定腳本解釋器
2.開頭加版本版權等信息,可配置~/.vimrc文件自動添加
3.腳本不要用中文注釋,盡量用英文注釋
4.腳本以.sh為擴展名
5.放在統一的目錄
6.代碼書寫優秀習慣
a.成對的內容一次性寫出來,防止遺漏,如[],'',""等
b,[]兩端要有空格,先輸入[]退格,輸入2個空格,再退格寫。
c, 流程控制語句一次書寫完,再添加內容。
- if 條件
- then
- 內容
- fi
d,通過縮進讓代碼易讀
f,腳本中的引號都是英文狀態下的引號,其他字符也是英文狀態。
好的習慣可以讓我們避免很多不必要的麻煩,提高工作效率。
Shell環境變量
1.什么是變量
變量就是用一個固定的字符串(也可能是字符數字等的組合),替代更多更復雜的內容,這個內容里可能還會包含變量和路徑,字符串等其他內容。變量的定義是存在內存中。
- x=1
- y=2
2.變量類型
變量分為兩類:
1.環境變量(也可稱為全局變量);可以在創建他們的Shell及派生出來的子shell中使用。環境變量又可以分為自定義環境變量和bash內置的環境變量。
2.局部變量(普通變量):只能在創建他們的shell函數或shell腳本中使用,還記得前面的$user?我們創建的一般都是普通變量。
2.1 環境變量
- 環境變量用於定義Shell的運行環境,保證Shell命令的正確執行,Shell通過環境變量來確定登錄用戶名,命令路徑,終端類型,登錄目錄等,所有的環境變量都是全局變量,可用於所有子進程中,包括編輯器,shell腳本和各類應用。但crond計划任務除外,還需要重新定義環境變量。
- 環境變量可以在命令行中設置,但用戶退出時這些變量值也會丟失,因此最好在用戶家目錄下的.bash_profile文件中或全局配置/etc/bashrc,/etc/profile文件或者/etc/profile.d/目錄中定義。將環境變量放入profile文件中,每次用戶登錄時這些變量值都將被初始化。
- 通常,所有環境變量均為大寫。環境變量應用於用戶進程前,都應該用export命令導出。例如:export chensiqi=1
- 有一些環境變量,比如HOME,PATH,SHELL,UID,USER等,在用戶登錄之前就已經被/bin/login程序設置好了。通常環境變量定義並保存在用戶家目錄下的.bash_profile或/etc/profile文件中。
yum倉庫的自動搭建
一、創建yum倉庫目錄及文件。
mkdir /server/scripts
cd /server/scripts
touch yum.sh
vim yum.sh
二、用vim編輯yum倉庫配置文檔。(內容如下)
#!/bin/bash
umount /dev/sr0
[ -d /media/cdrom ] || mkdir -p /media/cdrom
mount /dev/sr0 /media/cdrom
if [ $? -ne 0 ];then
(Tab鍵)echo "請查看關盤是否插入"
(Tab鍵)exit
fi
[ -d /etc/yum.repos.d ] || mkdir -p /etc/yum.repos.d
cd /etc/yum.repos.d && \
mv * /tmp/
cat > /etc/yum.repos.d/local.repo <<FOF
[local]
name=local
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
FOF
yum -y clean all && echo "yum clean"
yum makecache && echo "huan cun success"
三、退出並保存文檔(:wq)搭建完畢。