1、判斷/etc/inittab文件是否大於100行,如果大於,則顯示”/etc/inittab is a big file.”否者顯示”/etc/inittab is a small file.”
#!/bin/bash #判斷/etc/inittab文件是否大於100行,如果大於,則顯示“/etc/initabb is a big file." 否則顯示”/etc/inittab is a small file." Line=`wc -l /etc/inittab |cut -d" " -f1` if [ $Line -gt 100 ];then echo "/etc/initabb is a big file." else echo "/etc/inittab is a small file." fi
2、給定一個用戶,來判斷這個用戶是什么用戶,如果是管理員用戶,則顯示“該用戶為管理員”,否則顯示“該用戶為普通用戶”
#!/bin/bash #給定一個用戶,來判斷這個用戶是什么用戶,如果是管理員用戶,則顯示“該用戶為管理員”,否則顯示“該用戶為普通>用戶” a=`whoami` str="root" if [ $a = $str ];then echo "該用戶為管理員" else echo "該用戶為普通用戶" fi
3、判斷某個文件是否存在
#!/bin/bash #判斷某個文件是否存在 read -p "你要查找的文件" var find $var &> NULL if [ $? -eq 0 ];then echo "這個文件存在" else echo "這個文件不存在" fi
4、判斷當前系統上是否有用戶的默認shell程序是否為bash程序,如果有,就顯示有多個這類用戶,否則就顯示沒有這類用戶;【並且顯示出那些用戶是bash】
#!/bin/bash #判斷當前系統上是否有用戶的默認shell程序是否為bash程序,如果有,就顯示有多個這類用戶,否則就顯示沒有這類用戶;>【並且顯示出那些用戶是bash】 grep "bash" /etc/passwd &> /dev/null if [ $? -eq 0 ];then echo "有多個這個類用戶" else echo "沒有這類用戶" fi grep "bash" /etc/passwd |cut -d":" -f1
5、寫出一個腳本程序,給定一個文件,比如:/etc/inittab a、判斷這個文件中是否有空白行? b、如果有,則顯示其空白行的行號,否則顯示沒有空白行
#!/bin/bash #寫出一個腳本程序,給定一個文件,比如:/etc/inittab a、判斷這個文件中是否有空白行? b、如果有,則顯示其空白行的 行號,否則顯示沒有空白行 a=`grep "^$" /etc/inittab |wc -l` if [ $a -gt 0 ];then echo "含有空白行" grep -n ^$ /etc/inittab else echo "沒有空白行" fi
6、寫一個腳本程序,給定一個用戶,判斷其UID與GID是否一樣,如果一樣,就顯示該用戶為“good guy”,否則顯示為“bad guy”
#!/bin/bash #寫一個腳本程序,給定一個用戶,判斷其UID與GID是否一樣,如果一樣,就顯示該用戶為“good guy”,否則顯示為“bad guy” read -p "請輸入一個要查詢的用戶:" user uid=`grep "$user" /etc/passwd | cut -d":" -f3` gid=`grep "$user" /etc/passwd | cut -d":" -f4` if [ $uid -eq $gid ];then echo "good guy" else echo "bad guy" fi
7、寫一個腳本程序,給定一個用戶,獲取其密碼警告期限7;然后判斷用戶最近一次修改密碼的時間距離今天是否已經小於警告期限;
#!/bin/bash #寫一個腳本程序,給定一個用戶,獲取其密碼警告期限;然后判斷用戶最近一次修改密碼的時間距離今天是否已經小 於警告期限; read -p "請輸入一個用戶:" user W=`grep $user /etc/shadow | cut -d: -f6` S=`date +%s` T=`expr $S/86400` L=`grep $user /etc/shadow | cut -d":" -f5` N=`grep $user /etc/shadow | cut -d":" -f3` SY=$[$L-$[$T-$N]] if [ $SY -lt $W ];then echo 'Warning' else echo 'OK' fi
8、判斷命令歷史中歷史命令的總條目是否大於1000,如果大於,則顯示“some command will gone”,否則顯示OK
#!/bin/bash #判斷命令歷史中歷史命令的總條目是否大於1000,如果大於,則顯示“some command will gone”,否則顯示OK num=`history | wc -l` if [ $num -gt 1000 ];then echo "some command will gone" else echo "OK" fi
9、給定一個文件,如果是普通文件,就顯示出來,如果是目錄文件,也顯示出來,否則就顯示“無法識別”
#!/bin/bash #給定一個文件,如果是普通文件,就顯示出來,如果是目錄文件,也顯示出來,否則就顯示“無法識別” read -p "請輸入一個文件:" file if [ -f $file ];then echo "普通文件" elif [ -d $file ];then echo "目錄文件" else echo "無法識別" fi
10、寫一個腳本,能接受一個參數(文件路徑),判斷這個參數如果是一個存在的文件就顯示“ok”,否則顯示“No such file”
#!/bin/bash #寫一個腳本,能接受一個參數(文件路徑),判斷這個參數如果是一個存在的文件就顯示“ok”,否則顯示“No such file” read -p "請輸入一個路徑:" route if [ -f $route ];then echo "ok" else echo "No such file" fi
11、寫一個腳本,給腳本傳遞兩個參數,顯示兩則之和和兩者之積
#!/bin/bash #寫一個腳本,給腳本傳遞兩個參數,顯示兩則之和和兩者之積 read -p "請輸入第一個數:" num1 read -p "請輸入第二個數:" num2 sum=$[$num1+$num2] product=$[$num1*$num2] echo "$num1+$num2=$sum" echo "$num1"x"$num2=$product"