summaryrefslogtreecommitdiff
path: root/doc/componentsb.txt
blob: c2b672e3075d4f25d2d59b191af7894bddfd10b2 (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
#!/command/execlineb

# This execlineb script will sleep for 1 second, then print some
# silly things on the standard output.


;              # an unquoted string, evaluated to: ;
{              # A single opening brace, not included in the argv
  sleep 1      # Two unquoted strings, evaluated to " sleep" and " 1"
               # (without the quotation marks).
}              # A single closing brace, evaluated to the empty word

"echo"     # this is a quoted string. It will evaluate to the word: echo

foo\ bar\ zoinx  # This is one word, since the spaces are escaped
"foo bar zoinx"  # This is exactly the same word, written another way

 " # this is not a comment, since it is inside a quoted string
# This is not a comment either \" # nor is this " # but this is one

"\0x41\66\0103D\n"   # This is the string ABCD followed by a newline.
                     # Be careful: the newline will be part of the word.

 \n   # this is not a newline, but the single word: n

$23   # This will NOT be replaced by anything with execline-1.y, unless
      # substitution is explicitly asked for in the script.
      # The dollar is no special character for the execline binary.

baz"$1"qux  # This will evaluate to the word baz$1qux
baz\$1qux   # Same here
baz$1qux    # Same here in execline-1.y

${PATH}   # This will NOT be replaced by execline ; use the $ command
          # if you need the $PATH value.

'this is not a string'  # it will be parsed as five separate words

"\
"        # This will be parsed as the empty word. A (backslash, newline)
         # sequence inside a quoted string is entirely removed.