GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wofür stehen Sonderzeichen in Echo {a..z}?

Ich weiß, dass wir mit echo eine Folge von Buchstaben des Alphabets drucken können Befehl und experimentierte damit ein wenig.

Kleinbuchstabenfolge

$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

Großbuchstabenfolge

$ echo {A..Z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Groß- und Kleinbuchstabenfolge

$ echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [  ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z

Das ist jetzt der Teil, den ich nicht verstehe. Siehe die special charcaters von Z bis a. Hier ist eine bessere Ansicht.

$ echo {a..Z}
a ` _ ^ ]  [ Z

Ich möchte es wissen

  1. Wie kamen diese Sonderzeichen hier zwischen Groß- und Kleinbuchstaben ?

  2. Was bedeutet diese Sonderzeichenfolge?

  3. Außerdem:Wie drucke ich diese Sequenz nur zwischendurch?

Akzeptierte Antwort:

{A..z} wird gemäß der Zeichencodierung Ihres aktuellen Gebietsschemas erweitert, die höchstwahrscheinlich ASCII oder etwas Ähnliches ist. Wenn Sie man ascii ausführen (falls Sie dies auf Ihrem System haben) oder schauen Sie sich eine ASCII-Tabelle an, Sie sehen diese zusätzlichen Zeichen zwischen Z und a (dasselbe erhalten Sie, wenn Sie echo {Z..a} ausführen eigentlich).

Um nur Groß-/Kleinbuchstaben zu erhalten, verwenden Sie

echo {A..Z} {a..z}

Um nur die dazwischen zu bekommen, können Sie

verwenden
typeset -a foo=($(echo {Z..a}))
echo ${foo[@]:1:((${#foo[@]} - 2))}

was zuerst ein Array erstellt inklusive die beiden Zeichen knapp außerhalb der Grenze und greift dann außer auf alle Array-Elemente zu die Begrenzungszeichen.

PS:Finden Sie heraus, warum typeset -a foo=({Z..a}) funktioniert nicht, bleibt dem Leser als Übung überlassen 🙂


Linux
  1. Was ein Shell-Dotfile für Sie tun kann

  2. Ursprung eines kworker-Threads

  3. Überprüfen Sie die IP-Gültigkeit

  4. Linux-Shell wc -c Zeichenanzahl +1

  5. Was bedeutet echo $? tun?

Was macht die Linux-Community besonders?

Was bedeutet Echo $? Tun??

Wofür steht „tty“?

Versteckte Sonderzeichen in Vim anzeigen

Worauf Sie bei einem Cloud-Hosting-Anbieter achten sollten

SystemD - Wofür wird SystemD verwendet?