linux shell script 判断式+循环

Shell脚本文件权限检测
本文介绍了一个简单的Shell脚本,用于检测用户指定目录中所有文件的读、写、执行权限,并展示了如何使用条件语句和循环来遍历文件列表进行权限测试。

shell  script代码如下

#!/bin/bash
#program
#    User input dir name,I find the permiaaion of files in the dir.
#History:
#2016.04.14  Caishu  fist release
PATH=$PATH
export PATH
#检查目录是否存在
read -p "Please input the directory:" dir
echo -e  "The dir is $dir \n"
if [ "$dir" == "" -o ! -d "$dir" ]; then
        echo "The $dir is NOT exist in your system."
        exit 1
fi
#测试文件权限
filelist=$(ls $dir)
for filename in $filelist
do
        perm=""
        test -r "$dir/$filename"  && perm="$perm readable"
        test -w "$dir/$filename"  && perm="$perm writeable"
        test -x "$dir/$filename"  && perm="$perm executable"
        echo "The $dir/$filename's permission is $perm"
done
exit 0

注:

1.

if [ "$dir" == "" -o ! -d "$dir" ]

用 [ ] 判断时,一定要在每个字符之间加空格,对于变量要用“变量”,-o 是或   -d 检查文件是否存在且为目录

2.

for filename in $filelist

for 变量 in 范围

若变量为连续值可以用seq关键字,eg:

for i in $(seq 1 100)   #i从1到100

也可以用

for ((初始值;限制值;执行步长))
do 
    程序段
done

eg:

s=0
for (( i=1; i<=100; i++ ))     #注意2重括号之间不能有空格,i=1 前和i++后的空格可以加也可以不加
do
    s=$(($s+$i))                #注意2重括号之间不能有空格,$s+$i 前后可以后空格也可以没有空格,但其“+”号
                                #前后一定不能有空格
done


转载于:https://my.oschina.net/chaoshu/blog/659106

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值