author | Vladimir Marek <Vladimir.Marek@oracle.com> |
Thu, 26 Jan 2017 12:24:45 +0100 | |
branch | s11u3-sru |
changeset 7627 | 4758b76d5ad5 |
permissions | -rw-r--r-- |
7627
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
1 |
# solaris is compiled with --enable-xpg-echo-default=yes which makes some |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
2 |
# tests fail. Should we use printf '%s\n' "..." instead? |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
3 |
# |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
4 |
# Reported on [email protected] |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
5 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
6 |
--- tests/posixexp2.tests 2010-11-11 17:50:47.000000000 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
7 |
+++ tests/posixexp2.tests 2012-07-12 13:15:14.818468328 -0700 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
8 |
@@ -2,6 +2,11 @@ |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
9 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
10 |
set -o posix |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
11 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
12 |
+xpg=`shopt | grep xpg_echo | awk '{ print $2 }'` |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
13 |
+if [ ${xpg} = "on" ] ; then |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
14 |
+ shopt -u xpg_echo |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
15 |
+fi |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
16 |
+ |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
17 |
(echo 1 ${IFS+'}'z}) 2>&- || echo failed in 1 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
18 |
(echo 2 "${IFS+'}'z}") 2>&- || echo failed in 2 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
19 |
(echo 3 "foo ${IFS+'bar} baz") 2>&- || echo failed in 3 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
20 |
--- tests/comsub2.sub 2016-11-28 01:04:23.177652643 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
21 |
+++ tests/comsub2.sub 2016-11-28 01:01:49.330747645 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
22 |
@@ -4,5 +4,5 @@ echo "$qpath" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
23 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
24 |
# it's crazy that all three of these produce the same result |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
25 |
echo ${qpath//\\/} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
26 |
-echo ${qpath//"`echo \\`"/} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
27 |
-echo ${qpath//`echo "\\\\\\\\"`/} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
28 |
+echo ${qpath//"`echo -E \\`"/} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
29 |
+echo ${qpath//`echo -E "\\\\\\\\"`/} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
30 |
--- tests/exp5.sub 2016-11-28 02:38:32.148794257 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
31 |
+++ tests/exp5.sub 2016-11-28 02:33:12.133199473 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
32 |
@@ -1,18 +1,18 @@ |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
33 |
# expansions involving patterns |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
34 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
35 |
var='[hello' |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
36 |
-echo "${var//[/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
37 |
+echo -E "${var//[/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
38 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
39 |
red='\[\e[0;31m\]' |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
40 |
-echo "${red//\\[\\e/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
41 |
+echo -E "${red//\\[\\e/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
42 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
43 |
foo="${red//\\[\\e/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
44 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
45 |
# foo == [0;31m\] |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
46 |
-echo "${foo//[0;31m\\/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
47 |
+echo -E "${foo//[0;31m\\/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
48 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
49 |
-echo "${var//[]/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
50 |
-echo "${red//[]/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
51 |
+echo -E "${var//[]/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
52 |
+echo -E "${red//[]/}" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
53 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
54 |
v=hello |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
55 |
foo='[:alpha:]' |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
56 |
--- tests/exp8.sub 2016-11-28 03:44:56.875686938 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
57 |
+++ tests/exp8.sub 2016-11-28 03:39:21.761054928 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
58 |
@@ -10,11 +10,11 @@ declare -p var | sed -n l |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
59 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
60 |
recho ${var@Q} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
61 |
recho ${var@P} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
62 |
-echo ${var@A} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
63 |
+echo -E ${var@A} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
64 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
65 |
unset array |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
66 |
array=( [$'x\001y\177z']=foo ) # should be error |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
67 |
-echo ${array[@]@A} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
68 |
+echo -E ${array[@]@A} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
69 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
70 |
unset array |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
71 |
declare -a array=([0]=$'x\001y\177z') |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
72 |
@@ -23,9 +23,9 @@ declare -p array |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
73 |
unset array |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
74 |
array=( "$var" ) |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
75 |
recho ${array[@]} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
76 |
-echo ${array[@]@A} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
77 |
+echo -E ${array[@]@A} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
78 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
79 |
unset array |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
80 |
declare -A array |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
81 |
array=( [$'x\001y\177z']=$'a\242b\002c' ) |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
82 |
-echo ${array[@]@A} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
83 |
+echo -E ${array[@]@A} |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
84 |
--- tests/heredoc3.sub 2016-11-28 03:58:47.587299575 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
85 |
+++ tests/heredoc3.sub 2016-11-28 03:55:11.935894965 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
86 |
@@ -69,7 +69,7 @@ cat <<END |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
87 |
hello |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
88 |
\END |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
89 |
END |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
90 |
-echo end 'hello<NL>\END' |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
91 |
+echo -E end 'hello<NL>\END' |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
92 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
93 |
# this has to be last -- results in a syntax error |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
94 |
# doesn't currently parse because EOF is not on a line by itself -- should it? |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
95 |
--- tests/quote1.sub 2016-11-28 04:11:46.210688369 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
96 |
+++ tests/quote1.sub 2016-11-28 04:08:49.101872596 -0800 |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
97 |
@@ -14,7 +14,7 @@ echo "'${test//"'"/}'" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
98 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
99 |
echo "'${test//"'"/"'\\''"}'" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
100 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
101 |
-echo "'${test//"'"/\'\\'\'}'" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
102 |
+echo -E "'${test//"'"/\'\\'\'}'" |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
103 |
|
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
104 |
#echo "'${test//'/}'" # hangs waiting for ' |
4758b76d5ad5
25123965 Update bash to version 4.4
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff
changeset
|
105 |
#echo "'${test//"'"/'\\''}'" # hangs waiting for ' |