Сравнение постов

Различия между постами #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 $?