如何编写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
答案 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}"