2016-09-16 2 views
0

Nach meinen Professoren genaue Anweisungen, Ich versuche, eine Variable mit dem Namen EGG zu erstellen, die von meinem Kali VM, indem Sie diesen Befehl 100 ‚Einsen enthalten:Ausführen von Perl-Skripten Innerhalb Variablen in der Bash

[email protected]:~# EGG='perl -e "print 'A'x100"' 

Das ist mein Ergebnis ist Beim Versuch, die Variable zu echotieren:

[email protected]:~# echo $EGG 
perl -e "print Ax100" 

In der Demonstration meines Professors enthielt seine Variable 100 A wie erwartet. Irgendwelche Vorschläge, wie Sie das beheben können?

+4

Sie Ihr Professor auch zeigen, kann dies: http://mywiki.wooledge.org/BashFAQ/082 warum '$()' wird bevorzugt über '' – Sundeep

Antwort

7

Sie müssen Back-Ticks in der Shell verwenden, um die Ausgabe eines Befehls zu erfassen.

# EGG=`perl -e "print 'A'x100"` 
+0

Oh, ich danke Ihnen so sehr. Ich verwechselte sie mit Apostrophen auf der Wiederholung des Vortrags meines Professors. –

+10

Dies ist einer der Gründe, dass '$()' (z. B. 'EGG = $ (perl -e 'print' A'x100") ') gegenüber Backquotes bevorzugt wird - es ist viel schwieriger falsch zu lesen. –

Verwandte Themen