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:
|
|---|