1、查詢乙個檔案中空白行行數。
#!/bin/bash
file=/etc/inittab
if [ ! -e $file ];then
echo "no $file"
exit 8
fiif grep "^$" $file &> /dev/null;then
echo "total blank line:`grep "^$" $file |wc -l`."
else
echo "no blank line."
fi2、判斷乙個使用者的uid和gid是否相等
#!/bin/bash
username=user1
if ! grep "^$username\>" /etc/passwd &> /dev/null;then
echo "no such user: $username."
exit 1
fiuserid=`id -u $username`
groupid=`id -g $username`
if [ $userid -eq $groupid ];then
echo "good guy."
else
echo "bad guy."
fi3、判斷使用者密碼是否過期
#!/bin/bash
#username=user1
`id $username &> /dev/null`
m=$?
if [ ! $m -eq 0 ];then
echo "no such user: $username"
exit 1
fiw=`grep "^$username" /etc/shadow |cut -d: -f6`
s=`date +%s`
t=`expr $s / 86400`
l=`grep "^$username" /etc/shadow |cut -d: -f5`
n=`grep "^$username" /etc/shadow |cut -d: -f3`
h=`expr $t - $n`
u=`expr $l - $h`
if [ $u -lt $w ];then
echo "worning."
else
echo "ok."
fi注意:可以使用bash -x xx.sh進行測試程式執行
5.多分支判斷指定檔案的型別
#!/bin/bash
#file=/etc/passwd
if [ ! -e $file ];then
echo "no such file."
fiif [ -f $file ];then
echo "common file."
elif [ -f $file ];then
echo "directory."
else
echo "unknow."
fi
幾個簡單的shell指令碼
今天寫了個linux shell指令碼,通過不同命令列引數來執行不同操作,使用到了linux shell的命令列引數輸入和case語句,此篇做備忘錄吧。bin sh case 1 in webp cd webp jpeg cd jpeg zlib cd zlib lz cd lz echo inva...
幾個簡單的shell指令碼
bin bash shows system date echo date f date f顯示的是當前日期 date w顯示的是當前週數 exit 0 2 比較兩個值得大小 bin bash compare the size of the two numbers read p please inpu...
shell指令碼幾個練習
1編寫乙個shell指令碼,它把第二個位置引數及其以後的各個引數指定的檔案複製到第乙個位置引數指定的目中。bin bash dir 1 shift for i in docp i done 2.編寫乙個shell指令碼,顯示當天日期,查詢給定的某使用者是否在系統中工作。如果在系統中,就發乙個問候給他...