Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Thomas123 11 Prosince 2009, 23:21:42
-
Zdravím,
potřebuji vytvořit jednoduchý bash skriptík, který by měl laicky dělat toto: zadám ./mujskript.sh -t neco -z toto
A v skriptu budu do jednoduchých příkazů doplňovat hodnoty "z" a "t". Snad chápete, co mám na mysli. Jak na to?
-
Např.
http://aplawrence.com/Unix/getopts.html (http://aplawrence.com/Unix/getopts.html)
nebo si vygoogli getopt|getopts ;)
-
potřebuji vytvořit jednoduchý bash skriptík, který by měl laicky dělat toto: zadám ./mujskript.sh -t neco -z toto
?A nestačilo by ti./mujskript.sh neco toto
echo $1
neco
echo $2
toto
-
No, tak nad tím jsem nepřemýšlel ;D
Jinak, kdybych měl použít ten první návrh, tak by to vypadalo nějak takto?
#!/bin/bash
args=`getopt t:z: $*`
set -- $args
for i
do
case "$i" in
-t) shift;T_PARAMETR=$1";shift;;
-z) shift;Z_PARAMETR=$1";shift;;
esac
done
echo T_PARAMETR
echo C_PARAMETR
Chápu to tak, že s tím nahoře u toho getopt, tak dvojtečka má být tam, kde se očekává nějaký vstup a bez dvojtečky v případě, že chci, aby to bylo pouze nastavené? A to shift;; funguje jako ukončení toho přepínače? Dále se chci zeptat, zda $1 značí všechny znaky po první mezeře za přepínačem až k další mezeře?
-
Dále se chci zeptat, zda $1 značí všechny znaky po první mezeře za přepínačem až k další mezeře?
Ano../secti 20 56
echo $(($1+$2))
76