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