0
我有一個使用端到端的傳輸字符作爲IFS Bourne shell腳本:結束傳輸字符作爲IFS
ASCII_EOT=`echo -e '\004'`
while IFS="$ASCII_EOT" read DEST PASSWORD; do
...
done
怎樣的EOT表現爲一個IFS?或者read
期望什麼樣的輸入?
我有一個使用端到端的傳輸字符作爲IFS Bourne shell腳本:結束傳輸字符作爲IFS
ASCII_EOT=`echo -e '\004'`
while IFS="$ASCII_EOT" read DEST PASSWORD; do
...
done
怎樣的EOT表現爲一個IFS?或者read
期望什麼樣的輸入?
它是一個ASCII字符,就像,
;它只是不可打印。
$ printf 'foo\004bar' > tmp.txt
$ hexdump -C tmp.txt
00000000 66 6f 6f 04 62 61 72 0a |foo.bar.|
00000008
$ IFS=$(printf '\004') read f1 f2 < tmp.txt
$ echo "$f1"
foo
$ echo "$f2"
bar
您確定它是Bourne shell腳本嗎? 'echo -e'意味着你使用'bash'或者外部的GNU'echo'二進制文件,在這種情況下,假設你可以使用'bash'來代替。 – chepner