Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » Новичок в GNU/Linux’е

Модерирует : ShriEkeR

articlebot (03-11-2017 08:01): Новичок в GNU/Linux’е.  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

#!/bin/bash
 
help() {
cat << EOF
Usage: sql [--type=TYPE] FILENAME [--suffix-curdate] [OPTIONS]
Execute sql query and output result to stdout or file (html/text)    
    type                 html, txt or stdout. Default stdout
    FILENAME                filename to generate html or text
    --suffix-curdate        add to name current date
    OPTIONS                 See in open-html-file-in-browser.sh
    --help            print this help
 
For html format:
    --delonexit             delete generated html file on exit from script
    --openinbrowser         open generated html in browser
EOF
}
 
if [[ "$@" == *"--help"* ]]; then
    help
    exit 0
fi
 
sql=$1
 
if [ -z "$sql" ]; then
    echo "Missing sql query"
    help
    exit 1
fi
 
shift 1
filename=
ext=
type=stdout
args=
openinbrowser=0
delonexit=0
withCarDate=0
 
for arg in "$@"; do
      case $arg in
        --type=*)
          type=${arg#*=}
          ;;        
        --filename=*)
            filename=${arg#*=}
          ;;
        --openinbrowser)        
        openinbrowser=1
            ;;
        --delonexit)
        delonexit=1
        ;;
        --suffix-curdate)
        withCarDate=1
        ;;
        *)
          echo "Unknown argument: $arg"
          help
          exit 1
          ;;
      esac
    done
 
isStdOut=0; [ "$type" == "stdout" ] && isStdOut=1
isHtml=0; [ "$type" == "html" ] && isHtml=1
 
if [ $isHtml == 1 ]; then
    ext="html"
    args=" -H"
elif [ "$type" == "txt" ] ; then
    ext="txt"
    args=" "
fi
 
if [ $isStdOut != 1 ] && [ -z "$ext" ]; then
    echo "Invalid TYPE"
    help
    exit 1
fi
 
if [ $isStdOut == 0 ] && [ -z "$filename" ]; then
    echo "Missing FILENAME"
    help
    exit 1
fi
 
if [ $withCarDate == 1 ]; then
    filename+=_$(date +"%Y.%m.%d_%H-%M-%S")
fi
 
echo "SQL: $sql"
 
if [ $isStdOut == 1 ] ; then
    mysql-car -e "$sql;"    
else
    filename+=.$ext
    mysql-car -e "$sql;" $args > $filename
    echo "Query saved to $filename."
 
    if [ $isHtml == 1 ]; then
        args=""
 
        if [ $delonexit == 1 ]; then
            args+="--delonexit"
        fi
 
        args+=" "
 
        if [ $openinbrowser == 1 ]; then
            args+="--openinbrowser"
        fi
        
        $(dirname "$0")/open-html-file-in-browser.sh $filename $args
    fi
fi

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 21:12 17-03-2017
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » UNIX » Новичок в GNU/Linux’е
articlebot (03-11-2017 08:01): Новичок в GNU/Linux’е.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru