1 | ## our_shell:ysh
|
2 |
|
3 | #### read --raw-line, --all, --num-bytes preserve NUL bytes
|
4 |
|
5 | proc raw-line {
|
6 | read --raw-line (&s)
|
7 | echo len=${#s}
|
8 | write --end '' $s | od -A n -t x1
|
9 | }
|
10 |
|
11 | proc all {
|
12 | read --all (&s)
|
13 | echo len=${#s}
|
14 | write --end '' $s | od -A n -t x1
|
15 | }
|
16 |
|
17 | proc num-bytes {
|
18 | read --num-bytes 3 (&s)
|
19 | echo len=${#s}
|
20 | write --end '' $s | od -A n -t x1
|
21 | }
|
22 |
|
23 | printf '.\000.' | raw-line
|
24 | printf '.\000.' | all
|
25 | printf '.\000.' | num-bytes
|
26 |
|
27 | ## STDOUT:
|
28 | len=3
|
29 | 2e 00 2e
|
30 | len=3
|
31 | 2e 00 2e
|
32 | len=3
|
33 | 2e 00 2e
|
34 | ## END
|
35 |
|