Voici un code source qui prend « fichiers » dans seulement, répertorie les autorisations de fichier d'un fichier et imprime la sortie en remplaçantErreur logique dans l'aide Shell script.Please (UNIX)
r = READ, w -WRITE, x-EXECUTABLE.
Il devrait également écho « utilisateur » .Mais l'est ici Mon problème que j'ai remplacé « - » par l'utilisateur mais si le fichier a une autorisation de r - x, elle aussi de l'impression " Utilisateur "@ ce point.Je sais que ce n'est pas une façon correcte de s'y prendre.Peut-on me suggérer une meilleure façon de faire écho" Utilisateur ".
J'ai aussi essayé de l'imprimer avant de la boucle, mais il ne servira pas mon but, comme mon programme ne fonctionne que les autorisations de fichiers cep d'un FICHIERet non un bloc/prise/tuyau/répertoire/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
Quand faut-sortie « Utilisateur » ? Juste quand c'est un fichier régulier? –