7
votes

chat un fichier à l'intérieur d'une coque

Je me demande comment je peux implémenter quelque chose comme ce qui suit: xxx

Merci beaucoup.


4 commentaires

Voulez-vous dire chat un fichier à l'intérieur de la fonction bash?


@Siegex: Le code que j'ai collé ne fonctionne pas de mon côté. Est-ce que ça marche sur votre terminal? Mon terminal ne semble pas déterminer qu'il peut s'arrêter après avoir copié / coller le code.


@pajton: Je veux faire ce que j'ai collé là-bas pour travailler, car le code ne fonctionne pas de mon côté.


Avez-vous essayé de taper ligne-by-ligne au lieu de copier / coller?


3 Réponses :


6
votes

de bash (1) code>:

#!/bin/bash

cat>file <<-END
    hello
    world
    hello
    END

echo done


0 commentaires

2
votes

Votre code devrait fonctionner simplement bien, y a-t-il quelque chose de spécifique que vous recherchez?

#!/bin/sh

input() {
  cat > file <<EOF
input
line
another line
EOF
}

input


2 commentaires

N'utilisez pas le mot-clé fonction , ce n'est pas POSIX et obsolète. Utilisez plutôt ce que l'op a fait avec entrée ()


Merci, n'a pas réalisé que le mot clé de fonction n'est pas conforme à Posix et est en fait obsolète. Le plus apprécié!



12
votes

Qiang:

Retirez les espaces devant EOF (donc c'est sur une ligne par elle-même et non en retrait).


1 commentaires

Celui-ci fait l'affaire. Retirez les espaces / les caractères d'onglet (le nouveau caractère de ligne est correct) à l'avant du 2e EOF et tout ira bien.