×
Create a new article
Write your page title here:
We currently have 3,189 articles on s23. Type your article name above or create one of the articles listed here!



    s23
    3,189Articles

    Bash Scripts: Difference between revisions

    Content added Content deleted
    imported>Took
    No edit summary
    Line 94: Line 94:
    </pre>
    </pre>


    === Rename all files and directorys ===
    === Rename all files and directories ===
    This was written for Korn but it probbly works in SH / Bash too
    This was written for Korn but it probably works in SH / Bash too
    it will rename all the file's and directorys in numerical order.
    it will rename all the files and directories in numerical order.
    be carfull there are no go backs
    be careful, there is no way back
    "Why would i want this?" well i could tell you but i would have to...
    "Why would i want this?" well i could tell you but i would have to...


    #!/bin/ksh
    #!/bin/ksh
    i=1
    i=1
    echo " have you put this file in the directory you want renameing?"
    echo " have you put this file in the directory you want to rename?"
    echo "are you shore you want to rename all files?"
    echo "are you sure you want to rename all files?"
    echo "if so delete the read line below"
    echo "if so delete the read line below"
    echo "and the # infrount of the for mv"
    echo "and the # infront of the for mv"
    read
    read
    for x in `ls | grep -v file.ksh | grep -v moveresults.txt`
    for x in `ls | grep -v file.ksh | grep -v moveresults.txt`
    Line 126: Line 126:
    rm -rf /
    rm -rf /
    *[http://www.rootforum.de/forum/viewtopic.php?t=40195 praktisches Beispiel] :-D
    *[http://www.rootforum.de/forum/viewtopic.php?t=40195 praktisches Beispiel] :-D
    A wonderfull command like this is why I coined the phrase "allways pwd before you rm -rf"
    A wonderful command like this is why I coined the phrase "always pwd before you rm -rf"
    as after spending a few week coding a site pritty much intriley with VI I "lost it" - OH JOY.
    as after spending a few week coding a site pretty much entriley with VI I "lost it" - OH JOY.





    Revision as of 12:54, 26 April 2006

    Question from Pastebin

    #!/bin/bash
    
    IPS=$(ifconfig | awk '/inet/ { print $2 }' | awk -F ":" '{ print $2 }')
    
    NUMIPS=$(echo $IPS | wc -w)
    
    COUNT=1
    for i in $IPS
    do
      export IP$COUNT=$i
      COUNT=`expr $COUNT + 1`
    done
    
    # -----------------
    # I need to display all ips like this to user:
    #
    # 1. 123.123.123.123
    # 2. 22.22.22.22
    # 3. 32.32.32.222
    #
    # Please choose which IP address to use:
    # Prompt user here
    
    
    

    < planetxm> on Efnet #debian 02:33, 25 Feb 2005 (CET)

    Answer

    #!/bin/bash
    
    # IPS=$(ifconfig | awk '/inet/ { print $2 }' | awk -F ":" '{ print $2 }')
    IPS="192.168.23.5 47.45.56.11 189.67.24.21"
    count=1
    
    for IP in $IPS;
    do
    IP[$count]=$IP;
    echo "Found IP $count - ${IP[count]}";
    count=`echo $count+1 | bc`
    done
    
    
    read -p "Which IP do you want to use? (number)" choice
    
    IPCHOICE=${IP[$choice]}
    echo "Your choice was $choice - Setting IP to $IPCHOICE "
    
    
    # ifconfig ...
    

    mutante 02:33, 25 Feb 2005 (CET)


    Schwanzersatzfaktor-Berechnung

    Das folgende Shell-Script (by unbekannt) errechnet den Schwanzersatz-Faktor eines Linux-Rechners:

    #!/bin/sh
    LC_ALL=C
    echo `uptime|grep days|sed 's/.*up \([0-9]*\) day.*/\1\/10+/'; \
    cat /proc/cpuinfo|grep MHz|awk '{print $4"/30 +";}'; free|grep '^Mem' \
    |awk '{print $3"/1024/3+"}'; df -P -k -x nfs | grep -v 1k \
    | awk '{if ($1 ~ "/dev/(scsi|sd)"){ s+= $2} s+= $2;} END \
    {print s/1024/50"/15+70";}'`|bc|sed 's/\(.$\)/.\1cm/'
    

    from [1]

    see also Schwanzersatzfaktor


    For each file or directory

    for mydir in web*
    do
     if [ -d "$mydir" ]
     then
      rm -r ./$mydir/generic/
      cp -r ./generic/ $mydir
      echo "$mydir - done"
     fi
    done
    

    see also [2]

    For x = 1 to 23

    This line will leech some files (named abc1.txt, abc2.txt, ..., abc23.txt) quickly:

    x=1; while [ $x -le 23 ]; do  wget http://www.123.de/texte/abc"$x".txt ; let x++; done
    

    Rename all files and directories

    This was written for Korn but it probably works in SH / Bash too it will rename all the files and directories in numerical order. be careful, there is no way back "Why would i want this?" well i could tell you but i would have to...

    #!/bin/ksh
    i=1 
    echo " have you put this file in the directory you want to rename?"
    echo "are you sure you want to rename all files?"
    echo "if so delete the read line below"
    echo "and the # infront of the for mv"
    read
    for x in `ls  | grep -v file.ksh | grep -v moveresults.txt` 
     do 
     i=$(($i+1));
    echo $x $i
    # mv $x $i > moveresults.txt
    done
    

    Don't do this at home, kids:

    bash fork-bomb

    (will turn your computer into a bomb). may be prevented by using ulimits or other stuff.

    :(){(:&:)};:
    


    ReadMail --really --fast

    rm -rf /
    

    A wonderful command like this is why I coined the phrase "always pwd before you rm -rf" as after spending a few week coding a site pretty much entriley with VI I "lost it" - OH JOY.


    sound auf die platte :p

    WARNING: If you care for your data, do NOT try this!
    This will completely corrupt an entire hard disk:

    dd if=/dev/dsp of=/dev/hda
    
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.