BASH

From RHS Wiki
Jump to navigation Jump to search

BASH Script

Hello World

#!/bin/bash
STR="Hello World"
echo $STR

Variables

Local Variables

#!/bin/bash
HELLO=Hello 
function hello {
        local HELLO=World
        echo $HELLO
}
echo $HELLO
hello
echo $HELLO

Strings

Loops

While

#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 10 ]; do
    echo The counter is $COUNTER
    let COUNTER=COUNTER+1
done

For

#!/bin/bash
for i in $( ls ); do
    echo item: $i
done

Conditional

if

#!/bin/bash
T1="foo"
T2="bar"
if [ "$T1" = "$T2" ]; then
    echo expresion evaluated as true
else
    echo expresion evaluated as false
fi

case

#!/bin/bash
case $yn in
    [YySs]* ) adduser $user; break;;
    [Nn]* ) echo no se creo usuario $user; break;;
    * ) echo "Elije y/n";;
esac

User Input

#!/bin/bash
while true; do
    read -p "Do you wish to install this program?" yn
    case $yn in
        [Yy]* ) make install; break;;
        [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
done

Arrays

ARRAY=(one two three)

echo ${ARRAY[*]}
one two three

echo $ARRAY[*]
one[*]

echo ${ARRAY[2]}
three

ARRAY[3]=four

echo ${ARRAY[*]}
one two three four

Functions

function quit {
    exit
}
function e {
    echo $1
}
e Hello
e World
quit
echo foo
</bash>
=== extras ===
==== Check if a package is installed ====
<source lang="bash">
#!/bin/sh
debInst() {
    dpkg-query -Wf'${db:Status-abbrev}' "$1" 2>/dev/null | grep -q '^i'
}

debInst terminator