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

 

posted @ 2020-11-20 09:54  馒头ops  阅读(105)  评论(0)    收藏  举报