day8-脚本类型for and if判断
1、判断/var目录下的所有文件类型
file=`ls /var|xargs`
for i in $file;
do
#echo -e "`stat /var/${i} ` \n"
if [ -f /var/$i ];then
echo -ne "普通文件"
echo $i
elif [ -d /var/$i ];then
echo -ne "目录"
echo $i
elif [ -l $i ];then
echo "链接文件"
echo $i
else
echo -ne "不知道"
echo $i
fi
done
2、添加10个用户,生成8位随密码
for id in `seq 10`;
do
useradd user${id}
echo `openssl rand -base64 5`|passwd --stdin user${id}
done
3、判断文件的首字母,S开头,文件名+start ;K开头,文件+stop
file=`ls /etc/rc.d/rc3.d|xargs`
for name in $file;
do
if [[ $name == "S"* ]];then
echo -ne "$name "
echo "start"
elif [[ $name == "K"* ]];then
echo -ne "$name "
echo "stop"
fi
done
4、输入n值,求和
read -p "请输入数值: " n
#if [[ $n -le "[0-9]\{1,\}" ]];then
if [[ "$n" =~ [0-9]{1,} ]];then
echo $n
else
echo "请输入数字"
exit 1
fi
for i in `seq $n`;
do
let sum=$sum+$i
done
echo $sum
5、计算100内能被3整除的数的和
for i in {1..100};
do
let j=$i%3
if [ $j -eq 0 ];then
let sum=$sum+$i
fi
done
echo $sum
6、输入ip,判断主机是否在线
read -p "input ip: " ip
if [[ $ip =~ ([0-9]{1,3}.){1,3}[0-9]{1,3} ]];then
echo "success"
else
echo "错误的ip"
exit 1
fi
for i in $ip;
do
ping $i -c 2 && echo "主机在线" ||echo "离线"
done
7、打印99乘法表
for (( i=1;i<=9;i++ ));
do
#echo "$i"
for (( j=1;j<=$i;j++ ));
do
echo -ne "${j}x${i}=`echo "$i*$j"|bc`\t"
# echo "$j*$i"|bc
done
echo
done
8、打印等腰三角形
read -p "input lines: " line
for ((i=1;i<=$line;i++))
do
for ((k=1;k<=$line-$i;k++))
do
echo -ne " "
done
# echo
for ((j=1;j<=2$i-1;j++))
do
echo -ne "* "
done
echo
done

浙公网安备 33010602011771号