脚本01.sh:
给定一个文件:
如果是一个普通文件,就显示之;
如果是一个目录,亦显示之;
否则,此为无法识别之文件;
#!/bin/bash#read -p "Enter your file: " FILEif [ ! -e $FILE ];then echo "no such file."else if [ -f $FILE ];then echo "common file." elif [ -d $FILE ];then echo "directory." else echo "unknow file." fi fi
脚本02.sh:
能接受一个参数(文件路径)
判定:此参数如果是一个存在的文件,就显示“OK.”;否则就显示"No such file."
#!/bin/bash#read -p "Enter your file name :" NAMEif [ -e $FILE ];then echo "OK."else echo "no such file."fi
脚本03.sh:
给脚本传递两个参数(整数);
显示此两者之和,之乘积;
#!/bin/bash#if [ $# != 2 ];then echo "unknow commend"else echo "SUM=$[$1+$2]" echo "SUM=$[$1*$2]"fi
脚本04.sh:
写一个脚本完成一下任务:
1、使用一个变量保存一个用户名;
2、删除此变量中的用户,且一并删除其主目录;
3、显示“用户删除完成”类的信息;
#!/bin/bash#read -p "Enter your username :" NAMEid $NAME &>/dev/nullif [ $? == 0 ];then userdel -r $NAME &> /dev/null echo "delete user success."else echo "no such user"fi
脚本05.sh:
传递一个参数(单字符就行)给脚本,如参数为q、Q、quit或Quit,就退出脚本;否则,就显示用户的参数;
#!/bin/bash#read -p "Please input your choice q|Q for quitany to continue:" CHOICEif [ $CHOICE == 'q' ];then exit 0elif [ $CHOICE == 'Q' ];then exit 0else echo "This is your input: $CHOICI"fi
脚本06.sh:
传递三个参数给脚本,第一个为整数,第二个为算术运算符,第三个为整数,将计算结果显示出来,要求保留两位精度。
#!/bin/bash#if [[ $1 =~ ^[0-9]+$ && $2 =~ ^[+,-,*,/]+$ && $3 =~ ^[0-9]+$ ]];then echo "scale=2;$1$2$3" | bcelse echo "Unknow."fi
笔记:变量的匹配做if的条件需要用双“[]”,“=~”是匹配的意思,“+”前边的字符出现至少一次。
脚本07.sh:
传递3个参数给脚本,参数均为用户名。将此些用户的帐号信息提取出来后放置于/tmp/testusers.txt文件中,并要求每一行行首有行号。
#!/bin/bash#if [ $# != 3 ];then echo "please enter three usernames!"else rm -f ./testuser.txt &> /dev/null grep ^$1 /etc/passwd &> /dev/null && echo "1 `grep ^$1 /etc/passwd`" >> ./testuser.txt || echo "1 there is no user $1" >> ./testuser.txt grep ^$2 /etc/passwd &> /dev/null && echo "2 `grep $2 /etc/passwd`" >> ./testuser.txt || echo "2 there is no user $2" >> ./testuser.txt grep ^$3 /etc/passwd &> /dev/null && echo "3 `grep $3 /etc/passwd`" >> ./testuser.txt || echo "3 there is no user $3" >> ./testuser.txtfi
脚本08.sh:
判断当前主机的CPU生产商,其信息在/proc/cpuinfo文件中vendor id一行中。
如果其生产商为AuthenticAMD,就显示其为AMD公司;
如果其生产商为GenuineIntel,就显示其为Intel公司;
否则,就说其为非主流公司;
#!/bin/bash#STRING=`greo ^vendor /proc/cpuinfo | cut -d ":" -f 2`if [ $STRING == GenuineIntel ];then echo "Intel."elif [ $STRING == AuthenticAMD ];then echo "AMD."else echo "others"fi
脚本09.sh:
给脚本传递三个整数,判断其中的最大数和最小数,并显示出来。
#!/bin/bash#if [ $# != 3 ];then echo "please enter three number."else if [ $1 -gt $2 ];then MAX=$1 MIN=$2 else MAX=$2 MIN=$1 fi if [ $MAX -lt $3 ];then MAX=$3 fi if [ $MIN -gt $3 ];then MIN=$3 fi echo MAX=$MAX echo MIN=$MINfi