Aktív Gitár: A húr és a tremoló titkos élete
Tartalomjegyzék:
- Összehasonlító operátorok
- Ellenőrizze, hogy a karakterlánc tartalmaz-e alhúrot
- Ellenőrizze, hogy a karakterlánc üres-e
- A húrok összehasonlítása az ügyvezetővel
- Lexikográfiai összehasonlítás
- Következtetés
A Bash-szkriptek írásakor gyakran össze kell hasonlítania két karakterláncot annak ellenőrzésére, hogy egyenlők-e vagy sem. Két karakterlánc azonos, ha azonos hosszúságúak és azonos karakter sorozatot tartalmaznak.
Ez az oktatóanyag leírja, hogyan lehet összehasonlítani a karakterláncokat Bash-ban.
Összehasonlító operátorok
Az összehasonlító operátorok olyan operátorok, amelyek összehasonlítják az értékeket, és igaz vagy hamis eredményeket adnak vissza. A Bash karakterláncainak összehasonlításakor a következő operátorokat használhatja:
-
string1 = string2ésstring1 == string2- Az egyenlőség operátor igaznak ad vissza, ha az operandusok azonosak.- Használja a
=operátort atest; then echo "Strings are equal." else echo "Strings are not equal." fi; then echo "Strings are equal." else echo "Strings are not equal." fiA szkript végrehajtása után a következő kimenetet nyomtatja ki.
Strings are equal.Itt van egy másik szkript, amely lekérdezi a felhasználót és összehasonlítja az adott karakterláncokat. Ebben a példában a
]; then echo "Strings are equal." else echo "Strings are not equal." fi]; then echo "Strings are equal." else echo "Strings are not equal." fiFuttassa a szkriptet és írja be a karakterláncokat, amikor a rendszer kéri:
Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.Használhatja a logikai és a
&&és a||a húrok összehasonlításához:] && echo "Equal" || echo "Not equal"Ellenőrizze, hogy a karakterlánc tartalmaz-e alhúrot
Többféle módon ellenőrizheti, hogy a karakterlánc tartalmaz-e egy alsávot.
Az egyik megközelítés az, hogy az alsó karakterláncot csillag szimbólumokkal
*vesszük körül, ami azt jelenti, hogy az összes karakter megegyezik.#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiA szkript a következőket fogja visszhangozni:
It's there.Egy másik lehetőség az, hogy a regex operátort
=~használja az alábbiak szerint:#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiA csillaggal jelölt időszak
.*Nulla vagy annál több előfordulást mutat, bármely karakter megegyezik egy új sor karakterrel.Ellenőrizze, hogy a karakterlánc üres-e
Gyakran ellenőriznie kell, hogy a változó üres karakterlánc-e vagy sem. Ezt megteheti a
-nés-zoperátorok használatával.#!/bin/bash VAR='' if]; then echo "String is empty." fiString is empty.#!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fiA húrok összehasonlítása az ügyvezetővel
A teszt operátorok használata helyett az esetkifejezés segítségével összehasonlíthatja a karakterláncokat:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esacLexikográfiai összehasonlítás
A lexikográfiai összehasonlítás olyan művelet, amelynek során két karakterláncot ábécé sorrendben hasonlítanak össze egy karakterlánc karaktereinek egymást követő összehasonlításával balról jobbra. Az ilyen összehasonlítást ritkán alkalmazzák.
A következő szkriptek összehasonlítják a lexikografikusan két karakterláncot:
#!/bin/bash VAR1="Linuxize" VAR2="Ubuntu" if]; then echo "${VAR1} is lexicographically greater then ${VAR2}." elif]; then echo "${VAR2} is lexicographically greater than ${VAR1}." else echo "Strings are equal" fiA szkript a következőket adja ki:
Ubuntu is lexicographically greater than Linuxize.Következtetés
A karakterlánc összehasonlítása az egyik legalapvetőbb és leggyakrabban használt művelet a Bash parancsfájlokban. Miután elolvasta ezt az oktatóprogramot, jól értened kell, hogy miként hasonlíthatod össze a basszus húrokat. Ellenőrizheti a karakterláncok összekapcsolásáról szóló útmutatónkat is.
bash terminál
- Használja a
Hogyan lehet összehasonlítani két pdf fájlt a diffpdf segítségével?
Megtanulja, hogyan lehet két PDF-fájlt összehasonlítani a DiffPDF használatával.
Handcent sms vs go sms pro android: hogyan lehet összehasonlítani?
A Handcent SMS és a Go SMS Pro for Android részletes összehasonlítása. Nézze meg, melyik alkalmas az Android telefonjára.
Mi az a gyors és hogyan lehet összehasonlítani társaival?
Pontosan mi a CFast? Hogyan különbözik a Compact Flash és SD kártyáktól? Érdemes beruházni? Ezekre a kérdésekre az összes választ itt megkaptuk







