0
GNU bash的内部版本42年3月4日(1)-release使用削减空字符变量
试图deliminate一个空字符,但庆典似乎并没有让空字符变量。
$ echo -e 'hello\0goodbye' > testlist
$ cat testlist | cut -d '' -f1
hello
$ foobar=$(echo -e 'hello\0goodbye'); echo "$foobar" | cut -d '' -f1
hellogoodbye
有什么我做错了吗?
为什么你认为'“”'是空字符? –
@Miati,是的。根据我的经验,shell不能在变量中保留空字符。其他命令如'find'和'xargs'没有问题。但是,shell甚至可以将空字符作为字符串的一部分来处理,如您在此命令行的输出中所见:'echo -e'A \ 0B'| od -tx1' – Jdamian
@Miati,我猜bash不能在变量中保留空字符,因为它被用作C中的字符串结束符分隔符。 – Jdamian