2011-12-04 71 views
1

我如何写一个shell脚本file_readable其中:shell脚本来算可读文件

  • 接受名作为参数的一些数字,

  • 检查每一个名字,看看它是否是一个普通文件并且可读,并且

  • 输出这样的文件的数量的计数。

例如:

$ sh file_readable /etc/fstab /etc/ssh/ssh_host_rsa_key /etc/does-not-exist 
1 

其中,只有/etc/fstab很可能同时存在并是可读的。

到目前为止我一起把这个,但它不能正常工作 - 任何人可以帮我吗?

#!/bin/sh 

for filename in "[email protected]" 

do 
     if test -f "$filename" 
     then echo | wc -l 
     else echo $? 
fi 
done 
+1

本网站不存在解决您的任务。它可以帮助你解决你面临的具体问题。不要只是在这里转储任务描述,并期望有人为你免费为你做... – Joey

+0

似乎OP有一个具体问题。只是没有很好的制定。 –

回答

2

then echo | wc -l

如果文件存在且为普通打印空字符串的行数加“\ n”,总是等于1。听起来不太可用,不是吗?

所有你需要的是增加一些计数器并最终打印它。

#!/bin/sh 

readable_files=0 
for filename in "[email protected]"; do 
    if test -f "$filename"; then 
     readable_files=$((readable_files + 1)) 
    fi 
done 

echo "${readable_files}" 
+0

谢谢你的帮助 – frodo