shell脚本作业
1、判斷/etc/inittab文件是否大于100行,如果大于,則顯示”/etc/inittab is a big file.”否者顯示”/etc/inittab is a small file.”
#!/bin/bash # LINES=`wc -l /etc/inittab`echo LINES FINLINES=`echo $LINES | cut -d‘ ‘ -f1`echo $FINLINES[ $FINLINES -gt 100 ] && echo "/etc/inittab is a big file." || echo "/etc/inittab is a small file."2、給定一個用戶,來判斷這個用戶是什么用戶,如果是管理員用戶,則顯示“該用戶為管理員”,否則顯示“該用戶為普通用戶”
#!/bin/bash USER=`id -u $1` if [ $USER -eq 0 ];thenecho "管理員" elseecho "普通用戶" fi3、判斷某個文件是否存在
#!/bin/bash # if [ ! -e $1 ]; thenecho "No such file."exit 6 fiif [ -f $1 ]; thenecho "Common file." elif [ -d $1 ]; thenecho "Directory." elseecho "無法識別" fi
4、判斷當前系統上是否有用戶的默認shell程序是否為bash程序,如果有,就顯示有多個這類用戶,否則就顯示沒有這類用戶;【并且顯示出那些用戶是bash】
5、寫出一個腳本程序,給定一個文件,比如:/etc/inittab a、判斷這個文件中是否有空白行? b、如果有,則顯示其空白行的行號,否則顯示沒有空白行
#!/bin/bash SPACELINE=`grep "^$" $1 | wc -l` if [ $SPACELINE -eq 0 ];thenecho "這里沒有空白行" elseecho "有空白行,行號是$SPACELINE" fi6、寫一個腳本程序,給定一個用戶,判斷其UID與GID是否一樣,如果一樣,就顯示該用戶為“good guy”,否則顯示為“bad guy”
#!/bin/bash # USERID=`id -u $1` GRPID=`id -g $1`if [ $USERID -eq $GRPID ];thenecho "good guy." elseecho "bad guy." fi7、寫一個腳本程序,給定一個用戶,獲取其密碼警告期限;然后判斷用戶最近一次修改密碼的時間距離今天是否已經小于警告期限;
#!/bin/bash # W=`grep "abc" /etc/shadow | cut -d: -f6` S=`date +%s` T=`expr $S/86400` L=`grep "^abc" /etc/shadow | cut -d: -f5` N=`grep "^abc" /etc/shadow | cut -d: -f3` SY=$[$L-$[$T-$N]]if [ $SY -lt -$W ]; then echo "Worning" else echo "OK" fi8、判斷命令歷史中歷史命令的總條目是否大于1000,如果大于,則顯示“some command will gone”,否則顯示OK
#!/bin/bash # HISTLINE=`history | wc -l`if [ $HISTLINE -ge 1000 ]; then echo "Some command will gone." else echo "ok" fi9、給定一個文件,如果是普通文件,就顯示出來,如果是目錄文件,也顯示出來,否則就顯示“無法識別”
10、寫一個腳本,能接受一個參數(文件路徑),判斷這個參數如果是一個存在的文件就顯示“ok”,否則顯示“No such file”
#!/bin/bash # if [ ! -e $1 ]; thenecho "No such file."exit 6 fiif [ -f $1 ]; thenecho "Common file." elif [ -d $1 ]; thenecho "Directory." elseecho "無法識別" fi11、寫一個腳本,給腳本傳遞兩個參數,顯示兩則之和和兩者之積
轉載于:https://www.cnblogs.com/Y139147/p/11311695.html
總結
- 上一篇: 程序员的十层楼(11层)
- 下一篇: SharePoint里如何设置Peopl