用于计算可读文件的shell脚本

时间:2011-12-04 13:27:03

标签: bash

如何编写shell脚本file_readable:

  • 接受一些名称作为参数,

  • 检查每个名称以查看它是否是常规文件并且可读,并且

  • 输出此类文件数量的计数。

例如:

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

其中,只有/etc/fstab可能存在且可读。

到目前为止,我已将它们放在一起,但它无法正常工作 - 有人可以帮助我吗?:

#!/bin/sh

for filename in "$@"

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

1 个答案:

答案 0 :(得分:2)

  

then echo | wc -l

如果文件存在并且是常规的,则打印空字符串中的行数加上“\ n”,始终等于1。声音不太可用,不是吗?

你需要的只是增加一些计数器并最终打印出来。

#!/bin/sh

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

echo "${readable_files}"