Bash examples

From Teknologisk videncenter
Revision as of 09:53, 27 May 2009 by Heth (talk | contribs) (Menu eksempel)
Jump to: navigation, search

bash builtins

if command

Greetings

#!/bin/bash
#Uncomment HOUR=`date +%H` when using for real
#HOUR=`date +%H`
#
#HOUR=$1 only for testing purposes.....
HOUR=$1
if test $HOUR -le 7
  then
    echo "You are early go home"
  else if test $HOUR -le 8
         then
           echo "You are early"
         else if test $HOUR -lt 12
                then
                  echo "Good morning, Vietnam"
                else if test $HOUR -lt 16
                       then
                         echo "Good evening"
                     fi
              fi
       fi
fi

while

count example

#!/bin/bash
COU=1
while test $COU -lt 10000
do
  echo -en "COU = $COU\r"
  COU=`expr $COU + 1`
done

case

secret password example

#!/bin/bash
# Read the username from the terminal
echo -en "Enter username: "
read USERNAME
# Read the password from the terminal not echoing the characters
echo -en "Enter password: "
stty -echo
read PASSWORD
stty echo
# Find the username in the case and check password
case $USERNAME in
  john|John) if test $PASSWORD = "banana"
               then
                echo "Access granted"
               else
                echo "Access denied...."
                exit
             fi
           ;;
  eve|Eve) if test $PASSWORD = "apple"
               then
                echo "Access granted"
               else
                echo "Access denied...."
                exit
             fi
           ;;
  *)       echo "Access denied...."
           exit
           ;;
esac
echo "The secret information is 198273"

for

"ADD" users example

#!/bin/bash
USERLIST="bob eve john henry george jane ursula"
for USER in $USERLIST
do
  echo -en "Creating user $USER"
  # Next three line just pretend to add a user. Just playing :-)
  echo "user $USER login permitted" >> /tmp/allowedUsers
  sleep 1
  echo -e "....[DONE]"
done

Menu eksempel

#!/usr/bin/bash
#
# Dette er en kommentarlinier
#
# Bla Bla
#
########

forbrug()
{
echo -en "($2)\t har brugt $1 kilobytes\t"
grep $2 /etc/passwd | cut -d: -f5
}

LOOP=yes

while test $LOOP == "yes"
do

  clear
  echo -en " BRUGER MENU:

         1: Online brugere.
         2: Diskplads brugere
         3:

         -: Afslut

   Indtast valg: "

  read VALG

  case $VALG in
    1) clear
       echo -en "           B R U G E R E    L O G G E T   I N D "
       finger | less -P"Tast q for at afslutte"
       ;;
    2) clear
       echo -e "            DISKPLADS  FORBRUG  BRUGERBASERET"
       echo -e "            =================================\n"
       cd /home
       du -ks * 2>/dev/null | sort -rn | less -P"Tast q for at afslutte"
       ;;
    3) clear
       echo -e "Dette menupunkt er ikke udviklet endnu"
       echo -en "\n Tast <ENTER> for at fortsaette."
       read DUMMY

       ;;
    -) LOOP=no
       ;;
    *) echo "\x07"
       ;;
  esac
done

Menuopstart automatisk ved login

Skriv i filen .bash_profile i dit hjemmebibliotek

[heth@bsd ~]$ cd
[heth@bsd ~]$ cat .bash_profile
/home/heth/bin/minmenu
#exit