Cette question a déjà des réponses ici :
Commentaires
- Voir 3.6.6 Voici les documents dans le manuel bash
Answer
<<-EOF
ignorera les onglets de début de votre heredoc, contrairement à <<EOF
. Ainsi:
cat <<EOF Line 1 Line 2 EOF
produira
Line 1 Line 2
tandis que
cat <<-EOF Line 1 Line 2 EOF
produit
Line 1 Line 2
Réponse
Si vous utilisez <<-EOF
, je recommande la page de manuel du Bourne Shell:
Si, cependant, le trait dunion (-) est ajouté à < <:
-
les onglets de début sont supprimés du mot avant la lecture de lentrée du shell (mais après la substitution des paramètres et des commandes se fait sur mot);
-
les onglets de début sont supprimés de lentrée du shell lors de la lecture et avant que chaque ligne ne soit comparée avec le mot; et
-
lentrée shell est lue jusquà la première ligne qui correspond littéralement au mot résultant, ou à un EOF.
Donc <<-
permet dindenter le contenu du document ici pour une meilleure lisibilité.