私は次のスクリプトがありますLinuxの猫のインラインファイル
#!/bin/bash
cat << EOF
A^@B^AC^B
EOF
:
- '^ @' =小数点値0
- '^ A' =十進値1を
- '^ B' =小数点値2
ので、ファイルの外観このようなS:
xxd main.sh
00000000: 2321 2f62 696e 2f62 6173 680a 0a63 6174 #!/bin/bash..cat
00000010: 203c 3c20 454f 460a 4100 4201 4302 0a45 << EOF.A.B.C..E
00000020: 4f46 0a OF.
私はスクリプトを実行すると、小数点以下の値0と1が消えるように見える:
./main.sh | xxd
00000000: 4142 4302 0a ABC..
私の質問は、なぜでしょうか?
文字 'A'の後に10進値0、その後に 'B'、10進値1、続いて 'C'、10進値2が続きます。
ありがとう、私は 'cat'の代わりに' echo -e'を使ってヌル文字を含める必要があると思います。 –
'printf'(例えば、' printf '\ 0 \ 01 \ xCA \ xFE' | hd')を使うこともできます。 'echo'を使うなら、' -n'も必ず付け加えてください。 – randomir