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