1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#!/bin/sh
load_helper()
{
. ../bin/$1
}
PMTYPE=apt-rpm
. ../bin/epm-sh-altlinux
. ../bin/epm-sh-functions
. ../bin/epm-restore
ok()
{
__eresection "$1" "$2" && echo "$1 OK" || echo "$1 failed"
}
notok()
{
__eresection "$1" "$2" && echo "$1 failed" || echo "$1 OK"
}
ok "install=[" "install"
ok "install=[''" "install"
ok "install=['']" "install"
ok "install=(" "install"
ok "install=(fd" "install"
ok "install=(fd)" "install"
notok "install=fd" "install"
echo
echo "rhas:"
ok()
{
# something is wrong
rhas "$1" "[\])],*" && echo "$1 OK" || echo "$1 failed"
# rhas "$1" "(\]|\)),*" && echo "$1 OK" || echo "$1 failed"
}
ok "),"
ok ")"
ok "]"
ok "],"
ok()
{
# something is wrong
# rhas "$1" "[\])],*" && echo "$1 OK" || echo "$1 failed"
rhas "$1" "(\]|\)),*" && echo "$1 OK" || echo "$1 failed"
}
ok "),"
ok ")"
ok "]"
ok "],"
ok()
{
rhas "$1" "[\[(],*" && echo "$1 OK" || echo "$1 failed"
}
ok "=("
ok "("
ok "=["
ok "[,"
echo
echo "==="
f1()
{
sed -E -e 's@(\]|\)).*@OK@'
}
echo ")," | f1
echo "]" | f1
f1()
{
sed -e 's|[\])].*|OK|'
}
echo ")," | f1
echo "]" | f1
echo
echo "==="
f1()
{
sed -e 's|[\[(].*|OK|'
}
echo "(," | f1
echo "[" | f1
f1()
{
sed -e 's@\(\[|(\).*@OK@'
}
echo "(," | f1
echo "[" | f1
f1()
{
sed -E -e 's@(\[|\().*@OK@'
}
echo "(," | f1
echo "[" | f1