以下为源代码,其取入只有“文件”,将一个文件的文件的权限和通过更换逻辑错误(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