1. 程式人生 > >shell指令碼第一節

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(生成新快取)