日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux下shell编程课程设计,Linux下shell编程实例

發(fā)布時(shí)間:2023/12/20 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下shell编程课程设计,Linux下shell编程实例 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.?推斷一文件是不是塊或字符設(shè)備文件。假設(shè)是將其復(fù)制到 /dev 文件夾下

read -p "input a file:" filename

if [ -b $filename -o -c $filename ]

then

cp $filename /dev/

fi

2.編寫一個(gè)腳本。進(jìn)行簡(jiǎn)單的減法運(yùn)算。要求提示輸入變量

#!/bin/bash

read -p "input a number:" num1

read -p "input another number:" num2

let "num3=num1-num2"

echo $num3

3.把某個(gè)文件夾下的文件擴(kuò)展名改為bat,再以時(shí)間為文件名稱壓縮打包存放到某個(gè)文件夾。

#!/bin/bash

for file in $(ls $1)

do

new_file=${file%.*}.bat

mv ./$1/$file ./$1/$new_file

tmp=$(date +%y)

tar cvf ./$tmp.tar ./$1

done

4.推斷一個(gè)數(shù)是不是完數(shù)。

打印出1-1000之間的完數(shù)。

完數(shù)就是約數(shù)的和等于自身2倍的數(shù)。(6,28,496)

#!/bin/bash

sub()

{

i=1;

sum=0;

while [ $i -le $num ]

do

let "m=num%i"

if [ $m -eq 0 ]

then

let "sum=sum+i"

fi

let "i=i+1"

done

let "a=2*num"

if [ $a -eq $sum ]

then

echo $num

fi

}

num=1

while [ $num -le 1000 ]

do

sub

let "num = num+1"

done

5.在某個(gè)目錄下查找含有指定字符串的文件

#!/bin/bash

for file in $(ls $2)

do

bname=$(grep -l $1 $2/$file)

basename $bname

done

6.加入一個(gè)新組為class1,然后加入屬于這個(gè)組的30個(gè)用戶,username的形式為stdxx,當(dāng)中xx從01到30。

#!/bin/bash

groupadd class1

for i in {9901..9930}

do

xx=$(echo $i | sed 's/99//');

useradd -g class1 std$xx -p ""

done

7.設(shè)計(jì)一個(gè)Shell程序。在/userdata文件夾下建立50個(gè)文件夾。即user1~user50,并設(shè)置每一個(gè)文件夾的權(quán)限,其中其它用戶的權(quán)限為:讀。文件全部者的權(quán)限為:讀、寫、運(yùn)行;文件全部者所在組的權(quán)限為:讀、運(yùn)行。

#!/bin/bash

for ((i=1;i<=50;i++))

do

mkdir -p /usrdata/user$i

cd /usrdata

chmod 754 user$i

done

8. 寫一個(gè)腳本,利用循環(huán)計(jì)算10的階乘

#!/bin/sh

factorial=1

for a in `seq 1 10`

do

factorial=` expr $factorial * $a `

done

echo "10! = $factorial"

9.刪除當(dāng)前文件夾下大小為0的文件

#/bin/bash

for filename in `ls`

do

if test -d $filename

then b=0

else

a=$(ls -l $filename | awk '{ print $5 }')

if test $a -eq 0

then rm $filename

fi

fi

done

總結(jié)

以上是生活随笔為你收集整理的linux下shell编程课程设计,Linux下shell编程实例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。