Я хочу, чтобы сохранить поток данных, который я возвращаю, используя команду curl. Я пробовал использовать команду cat и конвейерную команду curl, но я делаю это неправильно. код им в настоящее время используете:Использование терминала для записи/сохранения потока данных
cat > file.txt | curl http://datastream.com/data
Любая помощь будет оценена.
Для записи, синтаксис, который использовали бы отправить вывод '' cat' к file.txt', и тогда было бы также попробуйте отправить этот вывод на стандартный ввод 'curl' (но он не смог, потому что этот вывод уже поступал в файл). Задача 1: 'cat' не выводит никакого вывода, кроме того, что он читает со своего собственного стандартного ввода, поэтому он просто сидел бы там, ожидая, что вы наберете что-нибудь. Проблема 2: 'curl' не читает, что входит в его стандартный ввод. И проблема 3: вы не перенаправляете вывод 'curl' в любом месте, поэтому он просто печатается на экране. –
Ответы ниже хорошие. Тем не менее, я предлагаю вам немного прочитать о перенаправлении ввода-вывода. Это может помочь вам в следующий раз: http://en.wikipedia.org/wiki/Redirection_%28computing%29 – skinp
@ Давид: Хорошее объяснение +1. Я думаю, что произойдет то, что оболочка будет разбираться с трубой и настроить канал с подключенным к нему выходом «cat». Затем процесс оболочки «cat» будет выполнять перенаправление вывода (закрытие трубы в процессе), поэтому «curl» не будет получать никаких данных на своем входе. «Кот» сидел бы там, ожидая EOF на его входе; Между тем, «curl» будет генерировать свой вывод на стандартный вывод, а не на файл. Очень небольшое отличие от того, что вы описали, - это последовательность «открытой трубы»; вилка; закрытая труба; open file ', который не совсем то, что я читаю в вашем. –