shell腳本

#!/bin/bash
#Author:Luo
#date:2017-07-01
#version:2.0
#This script is used for adding a new user认罩!
if [ "$#" -ne 1 ] ;then
        echo "請(qǐng)輸入一個(gè)用戶名";exit
elif id $1 &> /dev/null;then
        echo "該用戶已存在"
else
        useradd $1;echo "創(chuàng)建用戶成功箱蝠,用戶信息如下:"
        id $1
fi

#!/bin/bash
#Author:Luo
#date:2017-07-01
#version:2.0
#編寫(xiě)腳本/root/bin/yesorno.sh,提示用戶輸入yes或no,并判斷用戶輸入的是yes還是no,或是其它信息

read -p  "請(qǐng)輸入yes or no:" ans
if [[ "$ans" =~ ^[yY]$|^[yY][Ee]$|^[yY][Ee][Ss]$  ]]
        then
        echo "輸入結(jié)果為yes"
elif [[ "$ans" =~ ^[nN]$|^[nN][Oo]$  ]]
        then
        echo "輸入結(jié)果為no"
else
        echo "只能輸入yes or no"
fi

#!/bin/bash
#Author:Luo
#date:2017-07-01
#version:2.0
#編寫(xiě)腳本/root/bin/filetype.sh,判斷用戶輸入文件路徑宦搬,顯示其文件類(lèi)型(普通牙瓢,目錄,鏈接间校,塊設(shè)備矾克,其它文件類(lèi)型)

if  [[ ! -a $1 ]];
        then echo "文件不存在"
elif [ -h $1  ];
        then  echo "符號(hào)鏈接文件"
elif [ -b $1  ];
        then  echo "塊設(shè)備文件"
elif [ -d $1  ];
        then  echo "目錄文件"
elif [ -f $1  ];
        then  echo "普通文件"
else
        echo "其他文件"
fi

#!/bin/bash
#Author:Luo
#date:2017-07-01
#version:2.0
#判斷用戶輸入的參數(shù)是否為正整數(shù)

if [[ $# -ne 1  ]]
        then
        echo "請(qǐng)輸入一個(gè)參數(shù)"
elif [[ $1 =~ ^[0]$ ]]
        then
        echo "不是正整數(shù)"
elif [[ $1 =~ ^[[:digit:]]+$  ]]
        then
        echo "是正整數(shù)"
else
        echo "不是正整數(shù)"
fi

#!/bin/bash
#Author:Luo
#date:2017-07-01
#version:2.0
#This script is used for 輸入一個(gè)目錄名,判斷該目錄下所有文件的類(lèi)型
if [ $# -ne  1 ]
        then
        echo "參數(shù)錯(cuò)誤憔足,請(qǐng)輸入一個(gè)目錄"
elif  [[ ! -a $1 ]]
        then
        echo "目錄不存在"
elif [[ ! -d $1 ]]
        then
        echo "輸入的參數(shù)不是目錄"
else
        for filename in `ls $1`;do
        file $1/$filename
        unset filename
        done
fi


#Author:Luo
#date:2017-07-01
#version:2.0
#添加10個(gè)用戶user1-user10胁附,密碼為8位隨機(jī)字符
for num in `seq 10`;do
        useradd user$num; cat /dev/urandom |tr -dc a-zA-Z0-9|head -c 8|passwd user$num --stdin
done
  
#Author:Luo
#date:2017-07-01
#version:2.0
#/etc/rc.d/rc3.d目錄下分別有多個(gè)以K開(kāi)頭和以S開(kāi)頭的文件;分別讀取每個(gè)文件滓彰,以K開(kāi)頭的輸出為>文件加stop控妻,以S開(kāi)頭的輸出為文件名加start,如K34filename stop S66filename start

for filename in `ls /etc/rc.d/rc3.d`;do
        if [[ "$filename" =~ ^K.*$  ]]
                then echo "$filename stop"
        elif [[ "$filename" =~ ^S.*$  ]]
                then echo "$filename start"
        else echo "$filename"
        fi
done
unset filename


#Author:Luo
#date:2017-07-01
#version:2.0
#提示輸入正整數(shù)n的值揭绑,計(jì)算1+2+…+n的總和

sum=0
if [[ $# -ne 1  ]]
        then
        echo "參數(shù)輸入錯(cuò)誤,請(qǐng)輸入一個(gè)正整數(shù)"
elif [[ $1 =~ ^[0]$ ]]
        then
        echo "參數(shù)輸入錯(cuò)誤饼暑,不是正整數(shù)"
elif [[ $1 =~ ^[[:digit:]]+$  ]]
        then
        for num in `seq $1`;do
        let sum+=$num
        done
        echo "sum=$sum"
else
        echo "參數(shù)輸入錯(cuò)誤,不是正整數(shù)"
fi
#Author:Luo
#date:2017-07-01
#version:2.0
#計(jì)算100以內(nèi)所有能被3整除的整數(shù)之和
sum=0
for num in `seq 100`;do
        module=$[num%3]
        if [[ $module -eq 0 ]];then
                let sum+=num
        fi
done
echo "sum=$sum"
unset sum
unset module
unset num


#Author:Luo
#date:2017-07-01
#version:2.0
#打印九九乘法表

for num1 in `seq 9`;do
        for num2 in `seq $num1`;do
                let product=$num2*$num1
                echo -n "$num2*$num1=$product "
        done
        echo 
done

#Author:Luo
#date:2017-07-01
#version:2.0
#打印等腰三角形

for lnum  in `seq $1`;do
        let space=$1-lnum
        let star=2*lnum-1
                for spacetimes in `seq "$space"`;do
                echo -n " "
                done
                for startimes in `seq "$star"`;do
                echo -n "*"
                done
        echo 
done

#!/bin/bash
#Author:Luo
#email:luo-maojian@foxmail.com
#猜字游戲
#date:2017-07-02
#version:2.0

let num=$RANDOM%10
guess=11
until [ "$guess" -eq "$num" ];do
        read -p "猜一猜我的數(shù)字是多少洗做?(輸入1-10或者exit退出):" guess
        [ $guess = exit  ]&&exit
        [[ ! $guess =~ ^[[:digit:]]+$ ]]&&echo "輸入錯(cuò)誤,請(qǐng)重新開(kāi)始游戲"&&exit
        if [ "$guess" -lt "$num" ];then
                echo "猜小啦!"
        elif [ "$guess" -gt "$num" ];then
                echo "猜大啦!"
        else
                echo "猜對(duì)啦弓叛!"
        fi


done
unset guess
unset num

#!/bin/bash
#Author:Luo
#email:luo-maojian@foxmail.com
#date:2017-07-02
#version:2.0
#用文件名做為參數(shù),統(tǒng)計(jì)所有參數(shù)文件的總行數(shù)
sum=0
until [ -z "$1" ];do
        line=`cat $1 |wc -l`
        let sum+=$line
        shift
done
echo sum=$sum
unset sum
unset line

#!/bin/bash
#Author:Luo
#email:luo-maojian@foxmail.com
#date:2017-07-02
#version:2.0
#用二個(gè)以上的數(shù)字為參數(shù)诚纸,顯示其中的最大值和最小值

[ $# -lt 2 ]&&echo "usage:請(qǐng)輸入兩個(gè)以上數(shù)字參數(shù)"&&exit

#!/bin/bash
#Author:Luo
#email:luo-maojian@foxmail.com
#date:2017-07-02
#version:2.0
#用二個(gè)以上的數(shù)字為參數(shù)撰筷,顯示其中的最大值和最小值

[ $# -lt 2 ]&&echo "usage:請(qǐng)輸入兩個(gè)以上數(shù)字參數(shù)"&&exit

if [[ ! $1  =~ ^-?[[:digit:]]+$ ]];then
        echo "參數(shù)類(lèi)型錯(cuò)誤,只能輸入數(shù)字";exit
elif [[ ! "$2" =~ ^-?[[:digit:]]+$ ]];then
        echo "參數(shù)類(lèi)型錯(cuò)誤畦徘,只能輸入數(shù)字";exit

elif [ $1 -gt $2 ];then
        max=$1
        min=$2
else
        max=$2
        min=$1
fi

until [ -z "$1" ];do
        [[ ! "$1" =~ ^-?[[:digit:]]+$ ]]&&echo "參數(shù)類(lèi)型錯(cuò)誤毕籽,只能輸入數(shù)字"&&exit
        if [ $1 -gt $max  ];then
                max=$1
        fi
        if [ $1 -le $min  ];then
                min=$1
        fi
        shift
done

echo max=$max
echo min=$min
unset max
unset min
#!/bin/bash
#Author:Luo
#email:luo-maojian@foxmail.com
#date:2017-07-02
#version:2.0
#掃描/etc/passwd文件每一行,如發(fā)現(xiàn)GECOS字段為空井辆,則填充用戶名和單位電話為62985600关筒,并提示>該用戶的GECOS信息修改成功。

while read line;do
        user=`echo $line|cut -d: -f1`
        comment=`echo $line|cut -d: -f5`

        [ -z "$comment" ] && usermod -c ""$user"6285600" $user &&echo "用戶$user 注釋信息>添加成功"
done</etc/passd
unset user
unset conmment
#!/bin/bash
#Author:Luo
#email:luo-maojian@foxmail.com
#date:2017-07-06
#version:2.0
#編寫(xiě)函數(shù)實(shí)現(xiàn)數(shù)字的加減乘除運(yùn)算杯缺,例如輸入1 + 2蒸播,,將得出正確結(jié)果
jisuan () {
[ $# -lt 3 ]&&echo "請(qǐng)輸入正確的參數(shù),like 1 + 2 / 3 + 3 "&&return
result=$1
until [ -z $2 ] ;do

let result=$result$2$3
shift
shift


done
echo $result
}
#!/bin/bash
#Author:Luo
#email:luo-maojian@foxmail.com
#date:2017-07-06
#斐波那契數(shù)列又稱(chēng)黃金分割數(shù)列萍肆,因數(shù)學(xué)家列昂納多·斐波那契以兔子繁殖為例子而引入袍榆,
#故又稱(chēng)為“兔子數(shù)列”,指的是這樣一個(gè)數(shù)列:0塘揣、1包雀、1、2亲铡、3才写、5葡兑、8、13赞草、21讹堤、34、……房资,
#斐波納契數(shù)列以如下被以遞歸的方法定義:F(0)=0,F(xiàn)(1)=1檀头,F(xiàn)(n)=F(n-1)+F(n-2)(n≥2)
#利用函數(shù)轰异,求n階斐波那契數(shù)列
#version:2.0


F (){
if [ $1 -eq 0 ];then
        f=0
        echo $1
elif [ $1 -eq 1 ];then
        f=1
        echo $f
else
        m=`F $[$1-1]`
        n=`F $[$1-2]`
        let f=m+n
        echo $f
fi
}

Flist () {
for ((i=0;i < $1;i++));do
echo -n  "`F $i` "
done
echo
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市暑始,隨后出現(xiàn)的幾起案子搭独,更是在濱河造成了極大的恐慌,老刑警劉巖廊镜,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牙肝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡嗤朴,警方通過(guò)查閱死者的電腦和手機(jī)配椭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)雹姊,“玉大人股缸,你說(shuō)我怎么就攤上這事≈ǔ” “怎么了敦姻?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)歧杏。 經(jīng)常有香客問(wèn)我镰惦,道長(zhǎng),這世上最難降的妖魔是什么犬绒? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任旺入,我火速辦了婚禮,結(jié)果婚禮上凯力,老公的妹妹穿的比我還像新娘眨业。我一直安慰自己,他們只是感情好沮协,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布龄捡。 她就那樣靜靜地躺著,像睡著了一般慷暂。 火紅的嫁衣襯著肌膚如雪聘殖。 梳的紋絲不亂的頭發(fā)上晨雳,一...
    開(kāi)封第一講書(shū)人閱讀 52,696評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音奸腺,去河邊找鬼餐禁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛突照,可吹牛的內(nèi)容都是我干的帮非。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼讹蘑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼末盔!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起座慰,我...
    開(kāi)封第一講書(shū)人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤陨舱,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后版仔,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體游盲,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年蛮粮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了益缎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡然想,死狀恐怖链峭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情又沾,我是刑警寧澤弊仪,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站杖刷,受9級(jí)特大地震影響励饵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜滑燃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一役听、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧表窘,春花似錦典予、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至昂验,卻和暖如春捂敌,著一層夾襖步出監(jiān)牢的瞬間艾扮,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工占婉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泡嘴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓逆济,卻偏偏與公主長(zhǎng)得像酌予,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奖慌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容