aboutsummaryrefslogtreecommitdiff
blob: 248de63b9c9812912c5b8928e8a1395f80e6f4a8 (plain)
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
118
119
120
121
122
123
124
125
126
127
128
129
function hi()
{
	echo "Hello World"
}
hi
echo hello world
true
false
FOO001=$(echo hello)
echo $FOO001
FOO002=$(hi)
echo $FOO002
true && 
    echo "right"
false && echo "wrong"
! true && echo "wrong"
false || echo "right"
true || 
    echo "wrong"
echo right1 && echo right2 && false && echo wrong
false ||  echo right3 || echo wrong
true && false || echo right4 && echo right5
echo "end"
: ${DEFAULTED:="yes"}
FOO="abc" echo "command environment"
export FOO003=1 FOO004=abc FOO005=(1 2 3) FOO002
echo $FOO003 $FOO004 $FOO005 $FOO002
export foo
echo $foo
echo "hi" > /dev/null

function unset_inner()
{
    local FOO006=3 
    unset FOO006 FOO007
}
function unset_outer()
{
    local FOO006=1 FOO007=2
    local gjl_${FOO006}="${FOO007}"
    local f version install{{site,vendor}{arch,lib},archlib}
    unset_inner
    echo "FOO006=$FOO006 in unset_outer"
    echo "FOO007=$FOO007 in unset_outer"
    echo "gjl_1=${gjl_1}"
    unset FOO006
    echo "FOO006=$FOO006 in unset_outer"
}
unset_outer
echo "FOO006=$FOO006 in global"
FOO006=0
echo "FOO006=$FOO006 in global"
unset FOO006
echo "FOO006=$FOO006 in global"
declare -F unset_outer
unset -f unset_outer
declare -F unset_outer
echo '$FOO006 "abc" $(( 1 + 2 )) $(echo hi) ...'
echo "abc $(echo def) ghi"
FOO008="abc $(echo def) ghi"
echo $FOO008
eval "FOO009=10"
echo $FOO009
eval "echo abc" "def" "xyz"
shopt -s extglob
printf "%s %s\n" abc def
printf "%s %s\n" $FOO001, def
printf "123-%s" 456 789
printf "\n"
printf 'debug-%s ' dvc kbd nla
printf "123-%s"
((FOO010=1))
echo $FOO010
echo "abc #av### ##" # for comment
echo $'abc\tdef\nxyz'
echo -e "\'\"\t\n"
echo 'quotes should be handled correctly'
echo "$(echo 'hi')"
echo "`echo 'hi'`"
array=(`echo 1` `echo 2` 3)
echo ${array[@]}
echo `echo 1`
echo `echo 1 \`echo 2\` 3`
echo `echo 1 \`echo 2 \\\`echo 3\\\` 4\` 5`
echo $(echo 1 `echo 2 $(echo 3) 4` 5)
ech\
o Hello\
 world
function multiline()
{
    declare var1="foo
bar"
    export var2="one
  two
three"
    local var3="foo
bar"
    echo $var1
    echo $var2
    echo $var3
}
multiline
echo \`\(\)\$\>\<\`
export SRC_URI="${SRC_URI} http://www.oracle.com/technology/products/berkeley-db/db/update/${MY_PV}/patch.${MY_PV}.${i}"
> /dev/null
(( i=1, j=2)) && echo $i $j
a="ab cd ef"
variable=a
echo "${!variable// /_}"
echo "${!#// /_}"
echo "${!1// /_}"
echo "${!variable// /$'\n'}"
eval abc+=\( \"\$@\" \)
declare MOZILLA_FIVE_HOME="/usr/share/${PN}"
declare foo=23 empty bar=42
declare var=";; ; foobar"; echo yay
echo $MOZILLA_FIVE_HOME $foo $lol $bar
echo \(\)\[\]\$\"\>\'

FILE=scripts/input_output_test
echo foo > $FILE
read line < scripts/input_output_test
echo $line
if [ 1 = 1 ]; then
  read line
  echo $line
fi < $FILE
read string <<< "a b c d"
echo $string