linux shell编程for循环

for var in con1 con2 con3 ...
do
	程序段
done

1,获取linux的所有用户

#!/bin/bash
# show all users
users=$(cut -d ":" -f 1 /etc/passwd)
for username in $users
do
        echo "username:"${username}
done


2,获取ping 10个连续地址的结果

#!/bin/bash
ip="192.168.146."
n=$(seq 1 10)


for address in $n
do
        ip_address=${ip}${address}
        ping -c 1 -w 1 $ip_address >>./ping_result && result=0 || result=1
        if [ "$result" == 0 ];
        then
                echo "ping "${ip_address}" success"
        else
                echo "ping "${ip_address}" error"
        fi
done


3,检查一个目录下的所有文件的rwx权限

#!/bin/bash
#show dir file rwx
read -p "please input a dir:" dir
if [ "$dir" == "" -o ! -d "$dir" ];
   then
        echo ${dir}" is empty or not a dir"
        exit 0
fi
list=$(ls "$dir")
for name in $list
do
        info=""
        [ -r $name ] && info="$name can read," || info="$name can not read,"
        [ -w $name ] && info=${info}"can write," || info=${info}" can not write,"
        [ -x $name ] && info=${info}"can x " || info=${info}"can not x"
        echo $info
done


另一种for的写法

for (( 初始值; 限制值; 运行步阶 ))
do
	程序段
done
4,计算1+2+..+输入的数的和

#!/bin/bash
read -p "input a number,cout the number for 1+2+input number:" number
sum=0
for ((i=1;i<=$number;i++))
do
        sum=$(($sum+$i))
done
echo "1+2+..+$number="${sum}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值