Linux下shell程式設計例項

2021-09-09 01:35:20 字數 1822 閱讀 7040

1. 推斷一檔案是不是塊或字元裝置檔案。假設是將其複製到 /dev 資料夾下

read -p "input a file:" filename

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

then

cp $filename /dev/

fi2.編寫乙個指令碼。進行簡單的減法運算。要求提示輸入變數

#!/bin/bash

read -p "input a number:" num1

read -p "input another number:" num2

let "num3=num1-num2"

echo $num3

3.把某個資料夾下的副檔名改為bat,再以時間為檔名稱壓縮打包存放到某個資料夾。

#!/bin/bash

for file in $(ls $1)

donew_file=$.bat

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

tmp=$(date +%y)

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

done

4.推斷乙個數是不是完數。

列印出1-1000之間的完數。

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

#!/bin/bash

sub()

num=1

while [ $num -le 1000 ]

dosub

let "num = num+1"

done

5.在某個目錄下查詢含有指定字串的檔案

#!/bin/bash

for file in $(ls $2)

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

basename $bname

done

6.加入乙個新組為class1,然後加入屬於這個組的30個使用者,username的形式為stdxx,當中xx從01到30。

#!/bin/bash

groupadd class1

for i in

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

useradd -g class1 std$xx -p ""

done

7.設計乙個shell程式。在/userdata資料夾下建立50個資料夾。即user1~user50,並設定每乙個資料夾的許可權,其\中其它使用者的許可權為:讀。檔案全部者的許可權為:讀、寫、執行;檔案全部者所在組的許可權為:讀、執行。

#!/bin/bash

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

domkdir -p /usrdata/user$i

cd /usrdata

chmod 754 user$i

done

8. 寫乙個指令碼,利用迴圈計算10的階乘

#!/bin/sh

factorial=1

for a in `seq 1 10`

dofactorial=` expr $factorial \* $a `

done

echo "10! = $factorial"

9.刪除當前資料夾下大小為0的檔案

#/bin/bash

for filename in `ls`

doif test -d $filename

then b=0

else 

a=$(ls -l $filename | awk '')

if test $a -eq 0

then rm $filename

fifi 

done

Shell程式設計例項

一 簡介 從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理等領域,shell程式設計...

shell程式設計例項

1.在 home資料夾中建立一百個資料夾。資料夾名稱依次為a1 a100.3.寫乙個程式,能夠將 et passwd的第一列取出,並且每一列都以一行字串 the 1 account is root 來顯示 4.編寫乙個程式,他的作用是先檢視一下 root test logical這個名稱是否存在。若...

Linux下的shell程式設計

前提 shell環境pdksh和bash ubuntu下預設的shell環境是bash 語法篇 一 變數 1.變數分為三種型別 環境變數 內部變數和使用者變數 其中環境變數和內部變數不需要使用者定義,可以直接使用。環境變數 由系統定義,使用者不需要定義但可以改變變數的值。內部變數 由系統提供的一種特...