Fügen Sie eine lange Liste von E-Mail-Adressen in eine mehrzeilige Makrovariable ein

Fügen Sie eine lange Liste von E-Mail-Adressen in eine mehrzeilige Makrovariable ein

Ich habe eine Liste mit 20 E-Mail-Adressen, die ich als mehrere Zeilen in einem Shell-Skript in eine Makrovariable einfügen möchte. Im „breiten“ Format funktioniert es einwandfrei und wird folgendermaßen angezeigt:

to_list="[email protected],[email protected],[email protected],[email protected]"

Ich möchte etwas wie das Folgende, habe aber Probleme mit den Anführungszeichen, Kommas und Zeilenumbrüchen:

to_list="[email protected],[email protected], \
         .
         .
         .
         [email protected],[email protected]"

Die Verwendung wird sein:

mail -s "Subject text here." $to_list < body_text.txt

Gemäß der Syntax sollten die E-Mails durch Kommas getrennt sein und nur die gesamte Liste sollte in Anführungszeichen gesetzt werden, wie im Breitformat gezeigt. Mein Test sendet jedoch nur E-Mails an die oberste Zeile. Ich freue mich über die Einsicht!

Antwort1

Sie möchten so etwas:

to_list=(
        "[email protected],"
        "[email protected],"
        "[email protected],"
        "[email protected]"
        )
mail -s "Subject text here." "${to_list[@]}" < body_text.txt

Dabei wird ein Array verwendet, in dem Sie versucht haben, eine Zeichenfolge zu erstellen.

verwandte Informationen