I would like a pass a string argument including newlines \n
or \r\n
to my binary in terminal of Mac OS. I tried ./myBinary 'abc \n efg'
and ./myBinary 'abc \r\n efg'
, they did not work.
I also tried echo 'abc \n efg'
and echo 'abc \r\n efg'
, newlines were not displayed in the output, so I guess we need to do something around \n
and \r\n
to let the command line recognise them.
Could anyone help?
CodePudding user response:
You can type the newline:
./myBinary 'abc
def'
You can use ANSI-C quoting:
./myBinary $'abc \n def'
You can use command substitution and two echo-s, note quotes:
./myBinary "$(echo "abc "; echo " def")"
# or
./myBinary "$(printf "%s\n" "abc " " def")"