Вот один из способов проверить, принимает ли команда стандартный ввод
или нет. Имейте в виду, это вряд ли исчерпывающий:
% { wc ; cat ; } <<INTEST
nope
INTEST
> 1 1 5
% { cd ; cat ; } <<INTEST
nope
INTEST
> nope
Не уверен, что это лучший способ сделать это, но использование подстановки команд работает нормально (, даже если это немного громоздко):
echo -e "$(curl -s http://example.com/test.txt)"
Надеюсь, это поможет людям в будущем. Обратите внимание, что вы можете использовать curl -sL
, если имеете дело с сокращенным URL-адресом.
Вы уверены, что помещаете необработанные управляющие последовательности в текстовый файл? Я попробовал это сcurl
-7.52.1, используя как netcat, так и apache, и в обоих случаях curl правильно выводил escape-последовательность, чтобы слово на моем терминале окрашивалось в красный цвет.
Попробуйте это,
echo $'\e[0;31mTEST\e[0m' | nc -l -p 8080 -q0
curl localhost:8080