Perl und bash externe Befehlsdifferenz

8

Mein name.txt enthält:

%Vor%

In Perl

%Vor%

gibt mir:

%Vor%

In Bash,

%Vor%

gibt mir:

%Vor%

Hier ist meine Ausgabe von od -c name.txt :

%Vor%

Was ist der Grund für den Unterschied?

    
Mint.K 11.03.2017, 01:49
quelle

1 Antwort

9

Beide Variablen erhalten denselben Wert, aber die Art, wie Sie den Wert in Bash untersuchen, ist fehlerhaft: Verwenden Sie echo "$names" - beachten Sie die doppelten Anführungszeichen -, um den wahren Wert zu sehen.

Bei der Verwendung von $names in Bash wird der Wert word-splitting , was bedeutet, dass die durch Leerzeichen getrennten Wörter im Wert - Tom , Daniel und James - als separate Argumente an echo und echo übergeben werden. verknüpft diese Werte mit Leerzeichen bei der Ausgabe.

    
mklement0 11.03.2017, 03:23
quelle

Tags und Links