jeg kender kdesu tingen på filnavnene, men vil gerne undgå den...
Her nu ændret lidt, men den fortsætter ikke når man skriver pass...
# ! /bin/sh # This is GPL PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games clear echo "This utility will automaticly update the software on your pc." if [ $(whoami) != "root" ]; then clear su fi apt-get update echo "UPDATE done... " apt-get dist-upgrade echo "DIST-UPGRADE done..." apt-get upgrade echo "UPGRADE done..." exit
Det kan ikke lade sig gøre - du kan ikke bare skrive su i scriptet ... overvej lige sikkerheden et øjeblik! Brug kdesu på scriptet eller kør det i terminalen som root (brug f.eks su). Ellers kan du kigge sudo, som vist kan gøre noget i retning af det du ønsker - man sudo hvis du har det installeret
# ! /bin/sh # This is GPL PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games clear echo "This utility will automaticly update the software on your pc." if [ $(whoami) != "root" ]; then clear sudo -p fi apt-get update echo "UPDATE done... The list is now up-to-date" apt-get dist-upgrade echo "DIST-UPGRADE done... The list is now modified to fit your distribution" apt-get upgrade echo "UPGRADE done... The software is now installed" exit
Jeg dropper det med root-login, indtil videre, så den skal køres som root....
Men hvad er galt med min select?
----
# ! /bin/sh # This is GPL PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games clear echo "This utility will automaticly update the software on your pc." if [ $(whoami) != "root" ]; then clear sudo -p fi select CHOISE in "Verbose" "Quiet" "Abort";do if [ "$CHOICE" = "Abort" ]; then exit fi done clear echo "" echo "UPDATING started..." apt-get update > log cat log | grep "Err" if [ "`cat log | grep "Err"`" ]; then echo "UPDATING Failed. Please make sure that the mirror is accessable" else echo "UPDATING done" fi
if [ "$CHOICE" = "Verbose" ]; then cat log fi
echo "" echo "DIST-UPGRADING started..." apt-get -y dist-upgrade > log if [ "`cat log | grep "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded."`" ]; then echo "DIST-UPGRADING. Nothing was upgraded" else echo "DIST-UPGRADING. done" fi
if [ "$CHOICE" = "Verbose" ]; then cat log fi
echo "" echo "UPGRADING started..." apt-get -y upgrade > log if [ "`cat log | grep "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded."`" ]; then echo "UPGRADING. Nothing was upgraded" else echo "UPGRADING. done" fi
# ! /bin/sh # This is GPL PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games clear echo "This utility will automaticly update the software on your pc." if [ $(whoami) != "root" ]; then clear echo "You need root privileges to execute this program..." exit fi select CHOICE in "Verbose" "Quiet" "Abort";do clear echo "Choice: $CHOICE" if [ "$CHOICE" = "Abort" ]; then exit fi break done echo "" echo "UPDATING started..." apt-get update > log cat log | grep "Err" if [ "`cat log | grep "Err"`" ]; then echo "" echo "UPDATING Failed. Please make sure that the mirror is accessable" echo "" else echo "UPDATING done" fi
if [ "$CHOICE" = "Verbose" ]; then cat log fi
echo "" echo "DIST-UPGRADING started..." apt-get -y dist-upgrade > log if [ "`cat log | grep "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded."`" ]; then echo "DIST-UPGRADING. Nothing was upgraded" else echo "DIST-UPGRADING. done" fi
if [ "$CHOICE" = "Verbose" ]; then cat log fi
echo "" echo "UPGRADING started..." apt-get -y upgrade > log if [ "`cat log | grep "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded."`" ]; then echo "UPGRADING. Nothing was upgraded" else echo "UPGRADING. done" fi
if [ "$CHOICE" = "Verbose" ]; then cat log fi echo "" exit
# ! /bin/sh # This is GPL PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games FAILURE=0 NOTHING=0 DATESTART=$(date +%R) clear echo "This utility will automaticly update the software on your pc." if [ $(whoami) != "root" ]; then clear echo "You need root privileges to execute this program..." exit fi select CHOICE in "Verbose" "Quiet" "Abort";do clear echo "Choice: $CHOICE" if [ "$CHOICE" = "Abort" ]; then exit fi break done echo "" echo "APT STARTED $DATESTART" echo "UPDATING started..." apt-get update > log
if [ "$CHOICE" = "Verbose" ]; then cat log fi
cat log | grep "Err" if [ "`cat log | grep "Err"`" ]; then echo "" echo "UPDATING Failed. Please make sure that the mirror is accessable" echo "" FAILURE=1 else echo "UPDATING done" fi
if [ "`cat log | grep "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded."`" ]; then echo "DIST-UPGRADING. Nothing was upgraded" NOTHING=1 else echo "DIST-UPGRADING. done" fi
if [ "`cat log | grep "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded."`" ]; then echo "UPGRADING. Nothing was upgraded" NOTHING=1 else echo "UPGRADING. done" fi
echo "" if [ $NOTHING = 1 ]; then EXTRA=", but nothing was installed" else EXTRA="" fi if [ $FAILURE = 1 ]; then echo "Something went wrong" else echo "Everything went just fine$EXTRA" fi DATEFINISH=$(date +%R) echo "APT FINISHED $DATEFINISH" exit
Hvordan trækker jeg de to datoer fra hinanden, så jeg kan outputte hvor mange minutter og sekunder operationen tog...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.