×
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
    (→‎Don't do this at home, kids:: VERY funny link added)
    imported>Took
    Line 115: Line 115:


    === Don't do this at home, kids: ===
    === Don't do this at home, kids: ===
    ====bash fork-bomb====

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


    <pre>
    <pre>
    Line 123: Line 123:




    ====ReadMail --really --fast====

    ReadMail --really --fast
    rm -rf /
    rm -rf /
    a wonderfull command like this is why i coined the phrase "allways pwd before you rm -rf"
    as after spending a few week coding a site pritty much intriley with VI i "lost it" OH JOY.
    *[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"
    as after spending a few week coding a site pritty much intriley with VI I "lost it" - OH JOY.




    ====sound auf die platte :p====
    WARNING: If you care for your data, do '''NOT''' try this!<br>
    WARNING: If you care for your data, do '''NOT''' try this!<br>
    This will completely corrupt an entire hard disk:
    This will completely corrupt an entire hard disk:
    dd if=/dev/dsp of=/dev/hda
    dd if=/dev/dsp of=/dev/hda
    :p
    sound auf die platte





    Revision as of 12:15, 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 directorys

    This was written for Korn but it probbly works in SH / Bash too it will rename all the file's and directorys in numerical order. be carfull there are no go backs "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 renameing?"
    echo "are you shore you want to rename all files?"
    echo "if so delete the read line below"
    echo "and the # infrount 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 wonderfull command like this is why I coined the phrase "allways pwd before you rm -rf" as after spending a few week coding a site pritty much intriley 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.