File: Nested.bsh

package info (click to toggle)
codequery 1.0.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,860 kB
  • sloc: cpp: 151,420; xml: 16,576; python: 5,602; ansic: 5,487; makefile: 559; perl: 496; ruby: 209; sql: 194; sh: 106; php: 53; vhdl: 51; erlang: 47; objc: 22; lisp: 18; cobol: 18; modula3: 17; asm: 14; fortran: 12; ml: 11; tcl: 6
file content (81 lines) | stat: -rw-r--r-- 1,115 bytes parent folder | download | duplicates (4)
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
# Nested elements and other complex cases

# String with backtick inclusion
"x`ls`"
# Nested string
"x`ls "*.c"`"
# Not terminated at first "
"x`ls" # "`" #

# String with command inclusion
"x$(ls)"

# Nested command
$(ls -la$(ls *.c))

# Check strings and backticks in command
echo $('ls' "." `ls` $'.' $".")

# $( not terminated by ) if contains unterminated string
$('x) # ') #
$("x) # ") #
$(`x) # `) # Bash doesn't like this
$($'x) # ') #
$($"x) # ") #

# Parameter expansion
var=abcdef
sub=abc
rep='& '
echo ${var/$sub/"${rep}}"} #
# issue 216
option="no[foo]"
option=${option%%[<{().[]*}
echo $option

# '$' in variable
echo $$PID
echo $var${var}

# Here-doc with internal elements
cat <<EOF
	$scalar
	${var}
	$((1+2))
	$(pwd)
	`pwd`
EOF

# Quoted delimiter treats here-doc as simple string
cat <<"EOF"
	$scalar
	${var}
	$((1+2))
	$(pwd)
	`pwd`
EOF

# Escaped same as quoted
cat <<\EOF
	$scalar
EOF

# Nesting
echo "$((1 + 2))" #
echo "$[1 + 2]" #

# Multiple nesting levels
$(ls -la$(ls $(c) $'*.c' ` $(${s})`))

# Multi-line
$(ls |
more)

$(
`x`
"x"
`ls`
$'x'
$"x"
)
#end -- checks termination of previous