bash GNU version 4.3.42 (1) -releasecoupé le caractère Utilisation d'intérieur variable null
Essayer de DÉliminer sur un caractère nul, mais bash ne semble pas garder le caractère nul dans une variable .
$ echo -e 'hello\0goodbye' > testlist
$ cat testlist | cut -d '' -f1
hello
$ foobar=$(echo -e 'hello\0goodbye'); echo "$foobar" | cut -d '' -f1
hellogoodbye
Y at-il quelque chose que je fais mal?
Pourquoi pensez-vous que '''' est le caractère nul? –
@Miati, oui. Selon mon expérience, shell ne peut pas contenir un caractère nul dans une variable. Les autres commandes telles que 'find' et' xargs' n'ont aucun problème. Cependant, shell peut même gérer le caractère nul en tant que partie d'une chaîne, comme vous pouvez le voir dans la sortie de cette ligne de commande: 'echo -e 'A \ 0B' | od -tx1' – Jdamian
@Miati, je suppose que bash ne peut pas conserver le caractère nul dans une variable car il est utilisé comme caractère de délimiteur de fin de chaîne dans C. – Jdamian