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.變數分為三種型別 環境變數 內部變數和使用者變數 其中環境變數和內部變數不需要使用者定義,可以直接使用。環境變數 由系統定義,使用者不需要定義但可以改變變數的值。內部變數 由系統提供的一種特...