以下爲源代碼,其取入只有「文件」,將一個文件的文件的權限和通過更換邏輯錯誤(UNIX)
R = READ打印輸出,瓦特-write,X可執行。
還應回聲「用戶」。但在這裏我的問題是,我已經取代了「-」的用戶,但這時如果文件中有R的許可 - X,它也版畫「用戶「@這一點。我知道它不是一個正確的方式去解決它。任何人都可以給我一個更好的方式來回應」用戶「。
我自己也嘗試循環之前進行打印,但那麼它不會成爲我的目的,因爲我的程序只適用一個FILE的枝條文件權限,而不是任何塊/插座/管/目錄/ etc。
#!/bin/bash
if [ $# -lt 1 ];then
echo "USAGE: $0 file-name"
exit 1
fi
ls -l $1 | cut -c1-4 | tr "\012" "." > fp
i=1
while(($i <= 4))
do
p=`cat fp | cut -c$i`
case $p in
[dbsplc] | t) echo "not a file";
exit 1;;
-) echo "User";;
r) echo "READ";;
w) echo "WRITE";;
x) echo "EXECUTE";;
esac
((++i))
done
exit 0
應該何時輸出「用戶」 ?只是當它是一個普通的文件? – 2010-10-18 19:41:53