Bash script template: Diferență între versiuni
De la Wiki.lug.ro
Rz (Discuție | contribuții) (Pagină nouă: Un template simplu pentru un script BASH. <pre> #!/bin/sh # bash script template versiunea 0.1 #DBG=1 VERSIUNE=0.1 # functie de utilizare utilizare() { HLP="programulmeu versiun...) |
Rz (Discuție | contribuții) m |
||
| Linia 73: | Linia 73: | ||
case "$ACTIUNE" in | case "$ACTIUNE" in | ||
fanistechestii) fanistechestii;; | fanistechestii) fanistechestii;; | ||
| − | faaltechestii) | + | faaltechestii) faaltechestii;; |
*) fachestiaimplicita;; | *) fachestiaimplicita;; | ||
esac | esac | ||
Versiunea curentă din 20 septembrie 2010 15:25
Un template simplu pentru un script BASH.
#!/bin/sh
# bash script template versiunea 0.1
#DBG=1
VERSIUNE=0.1
# functie de utilizare
utilizare() {
HLP="programulmeu versiunea $VERSIUNE
utilizare: $0 [optiuni] primulargument [aldoileaargument]
optiuni:
-param <param> exemplu de argument ce necesita parametru
-h, --help acest ajutor
--debug activeaza informatii de depanare
-v, --version afiseaza versiunea
";
echo "$HLP";
}
terminare() {
ecode=$1; shift
echo "Eroare $ecode: $@"
[ $DBG ] && echo "Cod de iesire: $ecode"
exit $ecode
}
fanistechestii() {
echo "fac niste chestii..."
}
faaltechestii() {
echo "fac ALTE chestii..."
}
fachestiaimplicita() {
echo "fac chestia IMPLICITA..."
}
# parcurgere parametri
while [ $# -gt 0 ]; do
case "$1" in
# optiunea necesita parametru
-param ) [ $2 ] || terminare 2 "$1: necesita un parametru"; PARAMETRU="$2"; shift 2 ;;
-fanistechestii ) ACTIUNE=fanistechestii; shift ;;
-faaltechestii ) ACTION=faaltechestii; shift ;;
-q|--quiet) QUIET=1; shift;;
-v|--verbose) VRB=1; shift;;
-h | --help ) usage; exit 0 ;;
-ver*|-version ) echo "Versiunea $VERSIUNE" ; exit 1 ;;
--debug) DBG=1; shift ;;
* )
if [ -z $PRIMULARG ]; then PRIMULARG="$1"
elif [ -z $ALDOILEAARG ]; then ALDOILEAARG="$1"
fi
shift ;;
esac
done
[ $DBG ] && VRB=1 # activeaza informatii detaliate daca debugging e activat
[ $DBG ] && echo "intru in programul principal"
[ $DBG ] && echo "valori variabile interne: ACTIUNE=$ACTIUNE; PARAMETRU=$PARAMETRU; PRIMULARG=$PRIMULARG; etc"
[ $VRB ] && echo "afisez niste informatii detaliate..."
case "$ACTIUNE" in
fanistechestii) fanistechestii;;
faaltechestii) faaltechestii;;
*) fachestiaimplicita;;
esac
echo "Am terminat."