in reply to null byte issue in system command

I can't replicate your failure or your success.

$ perl -e 'system("echo -e "\xFF\x08\x00" >> /dev/ttyACM0");' Backslash found where operator expected at -e line 1, near ""echo -e " +\" (Missing operator before \?) Backslash found where operator expected at -e line 1, near "xFF\" Backslash found where operator expected at -e line 1, near "x08\" String found where operator expected at -e line 1, near "x00" >> /dev/ +ttyACM0"" syntax error at -e line 1, near ""echo -e "\" Execution of -e aborted due to compilation errors.

This fails for lack of permissions on my specific system (running as non-root):

$ perl -e 'system q{echo -e "\xFF\x08\x00" >> /dev/ttyACM0};' sh: /dev/ttyACM0: Permission denied

Writing to a regular file in my home directory works fine (except this echo does not support the same syntax as yours):

$ perl -e 'system q{echo -e "\xFF\x08\x00" >> ~/foo };' $ cat ~/foo -e � $

On Linux:

# perl -e 'system q{echo -e "\xFF\x08\x00" >> ~/foo };' # cat ~/foo � #

Multiple versions on differing platforms:

I have no idea how that would ever succeed with unescaped double quotes inside double quotes like that on any version. It just isn't valid Perl. How do I post a question effectively? is your friend (thanks jeffa and the SiteDocClan). Perhaps see also: