szia!
szeretnék egy kis
segítséget
kérni mert
van egy scriptem ami fut meg jo elvileg de megis kidom +ba egy hibauzenetet! te értesz hozzá? éjfélig kellene elkuldenem a tanarnak kulonben bukta a félév!
előre is koszi a segítséget
#!/bin/bash
#A script a paraméterben megadott könyvtárban megvizsgálja, hogy van-e
#événytelen szimbolkus link és ha ilyet talál, azt törli. Legyen lehetőség
#rekurziv hívásra és a műveletek logolására(egy fájlba). Ha nem adunk meg elé
#rési utat, akkor az alapértelmezett legyen a ,,.".
# lcl -R -l LOGFILE /home/h481815/OKTATAS
function errormsg(){
echo "Hiba történt!"
echo "Használat:"
echo "hk [-R] [-l logfile] [DIRECTORY]"
exit 1;
}
# Alepértelmezett értékek
DIRECTORY="."
RECURSIVE=1
HAVETOLOG=1;
# Paraméterek lekezelése
while [ $# -gt 0 ]; do
if [ $1 = "-R" ]; then
RECURSIVE=0
elif [ $1 = "-l" ]; then
HAVETOLOG=0;
shift
LOGFILENAME=$1
elif [ -d $1 ]; then
DIRECTORY=$1
else
errormsg
fi
shift
done
# nem rekurziv
if [ $RECURSIVE -eq 1 ]; then
for LINK in ` ls -log $DIRECTORY | grep ^l | awk '{print $6}' `;do
cd $DIRECTORY
test -e $LINK
a=$?
if test $a -eq 0
then
if [ $HAVETOLOG -eq 0 ];then
echo "$LINK symlink" >> $LOGFILENAME
fi
else
if [ $HAVETOLOG -eq 0 ];then
echo "$LINK not symbolic link and deleted" >> $LOGFILENAME
fi
rm $LINK
fi
done
else #rekurziv
touch output.txt
for LINK in ` ls -lRog $DIRECTORY | grep ^l | awk '{print $6}' `;do
for i in ` find $DIRECTORY $LINK | grep $LINK `;do
DIR=` dirname $i `
cd $DIR
test -e $LINK
a=$?
if test $a -eq 0
then
if [ $HAVETOLOG -eq 0 ];then
echo "$DIR/$LINK symlink" >> $LOGFILENAME
fi
else
rm $LINK
if [ $HAVETOLOG -eq 0 ];then
echo "$DIR/$LINK not symbolic link and deleted" >> $LOGFILENAME
fi
fi
done
done
fi
exit 0
- 993 megtekintés