Dotaz na testovani v skriptu
Martin Kraus
lists_mk na wujiman.net
Neděle Září 23 12:59:52 CEST 2007
On Sun, Sep 23, 2007 at 10:24:00AM +0200, Martin Hankovec wrote:
> Preji pekny den,
> potreboval bych v bash skriptu testovat, zda se lze pripojit k mysql a na zaklade toho provest pripadne nejakou akci (pokud se pripojit neda). K mysql se pripojuji:
>
> #!/bin/bash
> MYSQL_DB="/usr/bin/mysql --skip-column-names -h x.x.x.x ....."
> query() {
> result=`echo "$1" |$MYSQL_DB`
> }
> query " ...SQL dotaz... "
>
> coz funguje. Potreboval bych ale nejak presmerovat stderr tak, abych mohl testovat, zda nedoslo k chybe pri pripojeni k mysql. Muzu ho sice presmerovat do souboru:
> ..
> result=`echo "$1" |$MYSQL_DB 2>err.txt`
> ..
> a ten pak testovat, ale to mi neprijde moc elegantni. Presmerovani stderr na stdout mi zde nechodi (result=`echo "$1" |$MYSQL_DB 2>&1`).
me funguje tohle. jestli je to to co chcete. <heslo> nahradit heslem do
databaze.
if out=`echo 'show databases;' | mysql -u root -p<heslo>`; then
printf "$out\n";
else
printf 'ERROR\n';
fi
mk
Další informace o konferenci Linux