if和case應用

1、編寫腳本/root/bin/createuser.sh,實現如下功能:使用一個用戶名做為參數,如果指定參數的用戶存在,就顯示其存在,否則添加之;顯示添加的用戶的id號等信息

#!/bin/bash
useradd $1 &> /dev/null
if [ $? -eq 0 ] ;then 
    echo "user  $1 is created"
    id $1
else
    echo "user exist already or no argument "
fi

2、編寫腳本/root/bin/yesorno.sh,提示用戶輸入yes或no,并判斷用戶輸入的是yes還是no,或是其它信息

#!/bin/bash
read -p "please input yes or no: " ans
case $ans in
[Yy]|[Yy][Ee][Ss])
        echo "your answer is yes"
        ;;
[Nn]|[Nn][Oo])
         echo "your answer is no" 
         ;;
*)
         echo "Error,please input again" 
         ;;
esac

3、編寫腳本/root/bin/filetype.sh,判斷用戶輸入文件路徑,顯示其文件類型(普通,目錄,鏈接,其它文件類型)

#!/bin/bash
if [[ $# -lt 1 ]] ;then
    echo -e "Error: No argument.\n\tUsage: $0 FILENAME"
    exit 1
else
    if [[ -e $1 ]] ;then
        FileType=`ls -ld $1 | cut -c1`
        case $FileType in
            l)
                echo "$1 is a link file"
                ;;
            d)
                echo "$1 is a diretory"
                ;;
            -)
                echo "$1 is a common file"
                ;;
            *)
                echo "$1 is other file"
                ;;
        esac
    else
        echo "$1: no such file or diretory."
    fi
fi
unset FileType

4、編寫腳本/root/bin/checkint.sh,判斷用戶輸入的參數是否為正整數

#!/bin/bash
read -p "請入一個數字: " num
[ -z "$num" ] && echo "請輸入一個數字" && exit 1
NUM=$(echo $num | egrep -o "\-?[[:digit:]]+")
if [ "$NUM" == "$num" ];then
         if [ "$NUM" -lt "0" ];then
                echo "您輸入的是一個負整數"
         elif [ "$NUM" -eq "0" ];then
                echo "您輸入的是一個0"
         else
                echo "您輸入的是一個正整數"
         fi
else
        echo "您輸入的不是一個整數,請重新運行腳本"
fi
unset NUM
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容