一、寫乙個start_nginx指令碼,當啟動、停止、重啟時利用系統函式模擬實現系統指令碼啟動的特殊顏色效果 (用if實現)
#!/bin/sh
. /etc/init.d/functions
if [ $# -ne 1 ]
then
echo "usage $0 "
exit 1
fi
if [ "$1" == "start" ]
then
action "start nginx" /bin/true
elif [ "$1" == "stop" ]
then
action "stop nginx" /bin/true
elif [ "$1" == "restart" ]
then
action "restart nginx" /bin/true
else
echo "usage $0 "
exit 1
fi
結果測試:
二、什麼是函式
簡單的說,就是把程式裡多次呼叫的部分定義成乙份,然後起個名字,對於所有的呼叫,用這個名字就可以了。
優勢:減少程式**量;增加程式的可讀、易讀性;實現程式功能的模組化
三、用 if 和函式 實現 mysql的啟動指令碼
單例項:
3.開發指令碼**:
#!/bin/sh
. /etc/init.d/functions
user=root
pass=oldboy124
function usage()
[ $# -ne 1 ] && usage
function start_mysql()
function stop_mysql()
if [ "$1" == "start" ]
then
start_mysql
elif [ "$1" == "stop" ]
then
stop_mysql
elif [ "$1" == "restart" ]
then
stop_mysql
start_mysql
else
usage
fi
測試:
四、如何將乙個指令碼設定成開機自啟動
例如:將上述指令碼設定成開機自啟動
首先,chkconfig命令可以設定開機自啟動,但是啟動命令必須在/etc/init.d裡面,因為開機自啟動會首先載入這裡面的服務,當我們啟動乙個執行級別下的服務的時候,會通過chkconfig進行服務的管理,系統根據管理進行服務的優先順序啟動,所有如下草圖:
1)在指令碼中加入啟動和關閉的優先順序:如下圖中的
2)將指令碼交給chkconfig管理器
chkconfig --add mysqld
3)進行服務的開啟:
chkconfig mysqld on
shell指令碼程式設計高階(一)
可以巢狀 分支if 判斷條件 then 條件為真的分支 fiif 判斷條件 then 條件為真的分支 else 條件為假的分支 fiif 判斷條件1 then 條件1為真的分支 elif 判斷條件2 then 條件2為真的分支 elif 判斷條件3 then 條件3為真的分支 else 以上條件都為...
Shell指令碼 程式設計高階03
1 每隔 3 秒鐘到系統上獲取已經登入的使用者的資訊 如果發現使用者 hacker 登入,則將登入時間和主機記錄於日誌 var log login.log 中,並退出指令碼 bin bash while do echo date f t no information if who grep hack...
Shell指令碼 程式設計高階08
1 編寫函式實現兩個數字做為引數,返回最大值maxnum bin bash functions read p please input first digits num1 read p please input second digits num2 max maxnum num1 num2 if m...