shell指令碼第一節
shell指令碼的名稱必須以“.sh”結尾。開啟指令碼後第一行必須是:#!/bin/bash(呼叫bash執行指令碼)。
呼叫指令碼的兩種路徑:
1、相對路徑:(1):bash yunjisuan.sh
(2):sh yunjisuan.sh
bash和sh相同作用,一般用sh。
2、絕對路徑:第一步:chmod +x yunjisuan.sh (給指令碼x許可權)
第二步:/root/benet/yunjisuan.sh
shell指令碼的意思在於,通過命令列解析的方式幫我們自動執行我們設定好的命令程式碼。假如把指令碼掛到定時任務裡,那就是在某個沒有人的時間裡自動觸發工作程式。(定時任務預設從根出發的)
test命令:判斷某個目標是檔案還是目錄
test -d:判斷目錄
test -y:判斷檔案
在腳本里 “[ ]”表示邏輯判斷 ,“||”表示邏輯或,“&&”表示邏輯與。邏輯與可重複使用多次,但邏輯或只能用一次,並且在最後,使用邏輯或之後不能再使用邏輯與。
-gt:表示大於
-lt:表示小於
-eq:表示等於
-ge:表示大於等於
-le:表示小於等於
if語句
if [.............]
then..........
fi
if:如果,then:那麼,fi:結尾符號,表示判斷結束。
shell指令碼掛載光碟
1、umount /dec/sr0(首先解除安裝光碟,確認光碟沒有被佔用)
2、[ -]d /media/chrom ] || mkdir -p /media/cdrom(確認是否有/media/cdrom目錄)
3、mount /dec/sr0 /media/cdrom(掛載光碟)
4、if [ $? -ne 0 ];then
echo "請插入光碟"
exit
fi (確認光碟是否掛載成功,並強行終止指令碼)
5、[ -d /etc/yum/repos/.d ] || mkdir -p /etc/yum/repos.d (確認是否有yum倉庫目錄)
6、mv * /tmp/(移空yum倉庫目錄裡的內容,確保後續命令正常完成)
7 、cat > /etc/yum.repos.d/local.repo <<AAA
[local]
name=local
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1 (yum倉庫配置檔案)
AAA
8、yum -y clean all (清空舊快取)
9、yum makecache(生成新快取)