簡單的幾個shell指令碼二

2021-07-02 13:18:33 字數 1493 閱讀 4891



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指令碼,顯示當天日期,查詢給定的某使用者是否在系統中工作。如果在系統中,就發乙個問候給他...