Digamos que tengo un script que quiero canalizar a otro comando o redirigir a un archivo (canalizando sh
para los ejemplos). Supongamos que estoy usando bash.
Podría hacerlo usando echo
:
echo "touch somefile
echo foo > somefile" | sh
También podría hacer casi lo mismo usando cat
:
cat << EOF
touch somefile
echo foo > somefile
EOF
Pero si reemplazo "EOF" con "EOF | sh", simplemente piensa que es parte del heredoc.
¿Cómo puedo hacer que cat
produzca texto desde stdin y luego lo canalice a una ubicación arbitraria?
echo
: me preguntaba cuál sería el equivalente de eso cat
.
sh
script a partir de múltiples cadenas y pasarlo directamente a sh
. Encontré su Q buscando pasar la salida de texto de múltiples comandos, incluido un documento AQUÍ, directamente a un comando. Que es lo que hace el segundo ejemplo de la respuesta de Ash.
touch
es a menos que exista, ¿qué es exactamente lo que quieres? es solo leer el archivo de entrada y redirigir a otro con stdout?