Redirection automatique du chat

J’essaie de faire ce qui suit:

cat > somefile "some text" ; clear; some other program 

mais sans avoir à appuyer sur pour que la ligne crée le fichier et exécute ensuite un autre programme. J’ai essayé echo “du texte”> un fichier; mais il y a trop de caractères spéciaux pour cela. Quelqu’un sait-il comment s’y prendre

Je pense que ce que vous cherchez peut-être quelque chose du genre:

 pax> cat >tempfile ; tput clear ; someprog Enter your data here for tempfile  **screen clears and someprog runs** 

Le fichier de fin CTRL-D ne fait pas partie de la commande que vous entrez, il fait partie du stream d’entrée pour la commande cat .

Si vous ne voulez pas utiliser le stream d’entrée, vous devez soit élaborer la variante d’ echo (apprendre à comprendre le monde merveilleux des échappements de shell – vous pouvez en contourner la plupart en utilisant des guillemets simples au lieu de doubles), ou créez simplement votre fichier d’entrée à l’avance et utilisez quelque chose comme:

 cp sourcefile tempfile ; tput clear ; someprog 

Si vous souhaitez écrire du texte dans un somefile dans plusieurs lignes ou avec des caractères spéciaux, vous devriez essayer ceci. EOF est traité comme une chaîne spéciale ici qui terminera automatiquement le cat lorsqu’il sera trouvé, mais il pourrait s’agir de quelque chose d’autre.

 cat > somefile << EOF some text EOF some other program