Следующий процесс приводит к различному поведению в Mac OS и Ubutu:
cat some_text_file | xargs a_shell_script.sh
a_shell_script.sh
#!/bin/bash
echo "$@" | telnet 127.0.0.1 123
exit 0
Сервер TCP, прослушивающий порт 123, предназначен для обработки содержимого файла some_text_file. В моей реализации этого процесса в Ubuntu длина входных данных, которые получает TCP-сервер, равна длине файла some_text_file. На моей реализации OSX однако - это меньшая доля длины т.е. вход как-то усекается.
Примечание: насколько я могу судить, это не проблема xargs. Количество аргументов ($#
), доступных для a_shell_script.sh
, одинаково в обеих реализациях.
Спасибо!