Difference between revisions of "Bash examples"

From Teknologisk videncenter
Jump to: navigation, search
(count example)
Line 37: Line 37:
 
   COU=`expr $COU + 1`
 
   COU=`expr $COU + 1`
 
done
 
done
 +
</source>
 +
=== case ===
 +
==== secret password example ====
 +
<source lang="bash">
 +
#!/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"
 
</source>
 
</source>

Revision as of 11:08, 12 February 2009

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"