Согласно ответу Мартина, есть функция bash под названием Here Strings (которая сама по себе является вариантом более широко поддерживаемой функции Here Documents ).
http://www.gnu.org/software/bash/manual/bashref.html#Here-Strings
3.6.7 Здесь строки
Вариант представленных здесь документов, формат:
<<< word
Слово раскрывается и передается команде на стандартный ввод.
Обратите внимание, что Here Strings, похоже, предназначены только для bash, поэтому для улучшения переносимости вам, вероятно, будет лучше использовать исходную функцию Here Documents, согласно ответу PoltoS:
( cat <<EOF
$variable
EOF
) | cmd
Или более простой вариант вышеперечисленного:
(cmd <<EOF
$variable
EOF
)
Вы можете опустить (
и )
, если не хотите, чтобы это перенаправлялось дальше в другие команды.
$PATH
? Так чтоcat
можно заменить/bin/cat "$@" | tee /attacker/can/read/this/file