Я знаю, что здесь много сообщений о heredocs, а также о перенаправлениях и дескрипторах файлов, но я не могу найти ничего, что связано с тем, что я хочу делать.heredoc's, перенаправления и дескрипторы файлов
Я хочу открыть файловый дескриптор в файл, а затем записать heredoc в этот дескриптор файла.
Вот что я с помощью оболочки Bash:
exec 3>/tmp/testfile.txt
cat <<EOF>>3
write to fd using heredoc
EOF
проверить мой файл и его пустым. Я принимаю его пустым, потому что ссылка на мой файловый дескриптор в heredoc идет в бит-ведро. Я попытался использовать амперсанд &
вот так EOF>>&3
, но это вызывает ошибку в оболочке.
Как я могу добиться этого?
Да, это правильно. Но вам нужно объяснить, что вы делаете. Также, пожалуйста, научитесь писать код, затем отстудите его, выбрав его и используя кнопку ** '{}' ** над полем редактирования. Это выглядит лучше, чем использование встроенного кода, заключенного между обратными кавычками. Он также позволяет вам писать обратные кавычки в вашем сценарии оболочки, хотя вы, как правило, не должны использовать их в любом случае. –
Причина, по которой я хотел использовать fd в этом экземпляре, - это легко разрешить функции определять, создается ли fd, тогда это нормально писать, иначе не пытайтесь. Я использую его с несколькими другими функциями для создания динамического html-файла с использованием heredoc. – todd1215
Это выглядит очень ужасно, как то, что я сказал. Если мой ответ решил вашу проблему, вежливо проверить галочку слева от ответа. – larsks