shell 六 shell中的分支與迴圈結構二

2021-09-26 16:15:53 字數 2083 閱讀 7751

web相關的,以httpd為案例

[root@lamp ~]# cat check_web.sh

#!/bin/bash

# i(響應頭),s(slient安靜模式) -o(輸出為空) -w(code-->指定狀態碼)

fi # netstat、lsof、ps等均可!

需求2:通過傳參的方式往/etc/user.conf裡新增使用者,具體要求如下:

1、命令用法:usage:sh adduser username

2、傳參要求:如果引數為-add,表示新增後面接的使用者名稱;如果引數為-del,表示刪除後面接的使用者名稱;如果引數為-search,表示查詢後面接的使用者名稱。

3、如果有同名的使用者則不能新增,沒有對應使用者則無需刪除,查詢到使用者以及沒有使用者時給出明確提示。

4、/etc/user.conf不能被所有外部使用者之間刪除或修改

[root@lamp ~]# cat user.sh

#!/bin/bash

root_uid=0

#(1)是不是root使用者的身份

if [ "$uid" -ne "$root_uid" ]

then

echo "mast be root to run this script."

exit 1

fi#(2)引數的個數是不是2

if [ $# -ne 2 ]

then

echo "usage:sh $0 username."

exit 2

fi#(3)指令碼引數傳遞給變數

check=$1

name=$2

#(4)使用者是add的選項

if [ "$check" = "add" ]

then

# -f(fgrep)

result=`cat /etc/user.conf|grep -fx "$name"`

[ -z $result ]&&

echo "user $name is in."

exit 0

#(5)使用者是del的選項

elif [ "$check" = "del" ]

then

result=`cat /etc/user.conf|grep -fx "$name"`

[ -z $result ]&&

sed -ri /^$name$/d /etc/user.conf

echo "user del "$name" is ok."

#(6)使用者是查詢模式

elif [ "$check" = "search" ]

then

result=`cat /etc/user.conf|grep -fx "$name"`

[ -z $result ]&&

echo $result

exit 0

else

echo "usage:sh $0 username."

exit 1

fi

注意:業務監控和服務監控的區別!

運維思想

相關參考

了解相關的命令!

shell單分支if語句

一 單分支if條件語句 if 條件判斷式 then 程式 fi 或者 if 條件判斷式 then 程式 fi二 語法解析 1 if語句使用fi結尾,和一般語言使用大括號結尾不同。2 條件判斷式 就是使用test命令判斷,所以中括號和條件判斷式之間必須有空格。3 then後面跟符合條件之後執行的程式,...

Shell多分支if語句

一 語法 if 條件判斷式 then 當條件判斷式1成立時,執行程式1 elif 條件判斷式2 then 當條件判斷式2成立時,執行程式2 省略更多條件 else 當所有條件都不成立時,最後執行程式 fi 二 實現計算器 bin bash read t 30 p please input num1 ...

shell 分支語句 case

case語句主要適用於 某個變數存在多種取值,需要對其中的每一種取值分別執行不同的命令序列。這種情況和多分支if語句非常相似。只不過if要判斷多個不同的條件而case語句只判斷乙個變數的不同取值。case 變數值 in 模式1 命令序列1 模式2 命令序列2 預設命令序列 esac在上述結構中,關鍵...