Quelle est la différence entre “ < < -EOF ” et “ < < EOF ” dans le script bash? [dupliquer]

Cette question a déjà des réponses ici :

Commentaires

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é à < <:

  1. 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);

  2. 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

  3. 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é.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *