2011-12-04 68 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