Сравнение постов
Различия между постами
#261768 (13.04.2022 10:53)
и
#274387 (18.05.2024 08:01).
| 1 | #!/bin/sh | |
| 2 | ||
| 3 | s_term() {
| |
| 4 | #EC_OK | |
| 5 | exit 0 | |
| 6 | } | |
| 7 | ||
| 8 | trap s_term 15 | |
| 9 | ||
| 10 | die() {
| |
| 11 | retval=$1 | |
| 12 | shift | |
| 13 | echo "Fatal error: $*" >&2 | |
| 14 | exit $retval | |
| 15 | } | |
| 16 | ||
| 17 | warning() {
| |
| 18 | echo "Warning: $*" >&2 | |
| 1 | Получили эстетическое и физическое удовольствие от процедуры по Сертификату https://www.ashrafov.ru/blog/reabilitaciya-i-rezultaty-labioplastiki/ | |
| 2 | Подарок удался! Сестра и я очень довольны! Мастера Максим и Мария отличные Профессионалы https://www.ashrafov.ru/question/udalenie-papillom/?page=4 | |
| 3 | Удовольствие + Польза + Релакс! | |
| 4 | Мы ответим на все ваши вопросы и подскажем наилучший вариант решения задачи https://www.ashrafov.ru/lazernaya-shlifovka-litsa/ | |
| 5 | ||
| 6 | Будем очень рады видеть Вас в нашем центре красоты и здоровья, с удовольствием предложим Вам комплекс услуг по оздоровлению и омоложению, проявим персональный подход к Вашей проблеме https://www.ashrafov.ru/question/udalenie-papillom/?page=3 | |
| 7 | Наша команда любит свою работу и ценит каждого клиента https://www.ashrafov.ru/question/abdominoplastik/ | |
| 8 | Ваше доверие – лучшая награда для нас! | |
| 9 | Клиника перезвонит в течение 10 минут https://www.ashrafov.ru/index.php?route=article/category/question&article_category_id=60&page=2 | |
| 10 | ||
| 11 | Выше вы можете ознакомиться с порядком цен в клинике https://www.ashrafov.ru/blog/kak-uhajivat-za-makiyajem/ | |
| 12 | Указанные на сайте цены не являются публичной офертой (ст https://www.ashrafov.ru/question/larkin/?page=7 | |
| 13 | 435 ГК РФ, ст https://www.ashrafov.ru/question/blepharoplastika/?page=4 | |
| 14 | 437 ГК РФ) https://www.ashrafov.ru/foto/liposuction/ | |
| 15 | Для уточнения стоимости услуг обращайтесь по телефону 8 (495) 120 - 44 - 45 или на ресепшн клиники https://www.ashrafov.ru/question/udalenie-rodinok/?page=13 | |
| 16 | ||
| 17 | Как готовиться к процедуре https://www.ashrafov.ru/question/ottoplastika/?page=23 | |
| 18 | ||
| 19 | } | |
| 20 | ||
| 21 | debug() {
| |
| 22 | if [ -n "$DEBUG" ] ; then | |
| 23 | echo "Debug: $*" >&2 | |
| 24 | fi | |
| 25 | } | |
| 26 | ||
| 27 | get_platform() {
| |
| 28 | uname -s | LC_ALL=C tr '[A-Z]' '[a-z]' | |
| 29 | } | |
| 30 | ||
| 31 | get_lib_path() {
| |
| 32 | binary="$1" | |
| 33 | lib="$2" | |
| 34 | $LDD $LDD_RECURSIVE "$binary" 2>&1 | grep "$lib" | head -n1 | while read lib dummy path ; do echo $path ; done | cut -d' ' -f1 | |
| 35 | } | |
| 36 | ||
| 37 | binary_grep() {
| |
| 38 | pattern="$1" | |
| 39 | binary="$2" | |
| 40 | [ -r "$binary" ] || return 1 | |
| 41 | env LC_ALL=C tr -dc '[:print:]' < "$binary" | grep -F "$pattern" >/dev/null 2>&1 | |
| 42 | } | |
| 43 | ||
| 44 | append_to_library_path() {
| |
| 45 | debug "Append \"$1\" to LD_LIBRARY_PATH" | |
| 46 | if [ -d "$LIBDIR/$1" ] ; then | |
| 47 | true | |
| 48 | else | |
| 49 | debug "\"$1\" is not a directory" | |
| 50 | return | |
| 51 | fi | |
| 52 | LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${LIBDIR}/$1"
| |
| 53 | export LD_LIBRARY_PATH | |
| 54 | } | |
| 55 | ||
| 56 | run() {
| |
| 57 | libs="" | |
| 58 | loader="" | |
| 59 | if [ "$PLATFORM" = "linux" ] ; then | |
| 60 | lddOutput="`LANGUAGE=C LANG=C $LDD $LDD_RECURSIVE "$BINARY" 2>&1`" | |
| 61 | if echo "$lddOutput" | grep gzopen64 >/dev/null 2>&1 ; then | |
| 62 | append_to_library_path "ldwrap/libz.so.1" | |
| 63 | fi | |
| 64 | elif [ "$PLATFORM" = "freebsd" ] ; then | |
| 65 | #rpath doesn't work here | |
| 66 | append_to_library_path "" | |
| 67 | #own gcc prefer for BSD | |
| 68 | append_to_library_path "ldwrap/gcc" | |
| 69 | fi | |
| 70 | if binary_grep "libstdc++.so.6" "$BINARY" ; then | |
| 71 | libpath="`get_lib_path "$BINARY" "libstdc++.so.6" 2>/dev/null`" | |
| 72 | if binary_grep "CXXABI_$MIN_CXXABI" "$libpath" ; then | |
| 73 | true | |
| 74 | else | |
| 75 | append_to_library_path "ldwrap/gcc" | |
| 76 | fi | |
| 77 | fi | |
| 78 | for i in 1 2; do | |
| 79 | libs="`LANGUAGE=C LANG=C $LDD $LDD_RECURSIVE "$BINARY" 2>&1 | \ | |
| 80 | grep 'not found' | awk '{print $1}'| sort | uniq`"
| |
| 81 | if [ -z "$libs" ]; then break; fi | |
| 82 | for lib in $libs ; do | |
| 83 | append_to_library_path "ldwrap/$lib" | |
| 84 | done | |
| 85 | done | |
| 86 | ||
| 87 | debug "Finally LD_LIBRARY_PATH is \"$LD_LIBRARY_PATH\"" | |
| 88 | if [ -n "$loader" ] ; then | |
| 89 | exec $LOADER "$BINARY" "$@" | |
| 90 | retval=$? | |
| 91 | else | |
| 92 | exec "$BINARY" "$@" | |
| 93 | retval=$? | |
| 94 | fi | |
| 95 | return $retval | |
| 96 | } | |
| 97 | ||
| 98 | LDD="/usr/bin/ldd" | |
| 99 | [ -x "$LDD" ] || die 125 "ldd not found. Fix PATH and try again." | |
| 100 | ||
| 101 | PLATFORM=linux | |
| 102 | PREFIX=/opt/drweb.com | |
| 103 | LIBDIR=/opt/drweb.com/lib/x86_64-linux-gnu | |
| 104 | CONFDIR=/etc/opt/drweb.com | |
| 105 | ||
| 106 | BINARY="$PREFIX/bin/`basename "$0.real"`" | |
| 107 | LINKNAME="`basename "$0"`" | |
| 108 | ||
| 109 | [ -x "$BINARY" ] || die 104 "$BINARY not found or not executable" | |
| 110 | ||
| 111 | if [ -d "$CONFDIR/ldwrap.conf.d" ] ; then | |
| 112 | for f in $CONFDIR/ldwrap.conf.d/*.conf ; do | |
| 113 | [ -r "$f" ] && . "$f" | |
| 114 | done | |
| 115 | fi | |
| 116 | ||
| 117 | MIN_CXXABI=1.3.12 | |
| 118 | if [ -n "$ARGS" ] ; then | |
| 119 | run "$@" "$ARGS" | |
| 120 | else | |
| 121 | run "$@" | |
| 122 | fi | |
| 123 | exit $? |
