Android

Paano ihambing ang mga string sa bash

Guitar Setup: Action or String Height Adjustment on Takamine G340S Acoustic Guitar

Guitar Setup: Action or String Height Adjustment on Takamine G340S Acoustic Guitar

Talaan ng mga Nilalaman:

Anonim

Kapag nagsusulat ng mga script ng Bash kakailanganin mong ihambing ang dalawang mga string upang suriin kung pantay sila o hindi. Ang dalawang string ay pantay-pantay kapag mayroon silang parehong haba at naglalaman ng magkakasunod na pagkakasunod-sunod ng mga character.

Inilalarawan ng tutorial na ito kung paano ihambing ang mga string sa Bash.

Mga Operator sa Paghahambing

Ang mga operator ng paghahambing ay mga operator na naghahambing sa mga halaga at bumalik sa totoo o hindi totoo. Kapag naghahambing ng mga string sa Bash maaari mong gamitin ang mga sumusunod na operator:

  • string1 = string2 at string1 == string2 - Ang pagkakapantay-pantay na operator ay nagbabalik totoo kung ang mga nagpapatakbo ay pantay.
    • Gamitin ang = operator gamit ang test ; then echo "Strings are equal." else echo "Strings are not equal." fi ; then echo "Strings are equal." else echo "Strings are not equal." fi

      Kapag naisagawa ang script ay mai-print nito ang sumusunod na output.

      Strings are equal.

      Narito ang isa pang script na tumatagal ng pag-input mula sa gumagamit at inihambing ang ibinigay na mga string. Sa halimbawang ito, gagamitin namin ang ]; then echo "Strings are equal." else echo "Strings are not equal." fi ]; then echo "Strings are equal." else echo "Strings are not equal." fi

      Patakbuhin ang script at ipasok ang mga string kapag sinenyasan:

      Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.

      Maaari mo ring gamitin ang lohikal at && at o || upang ihambing ang mga string:

      ] && echo "Equal" || echo "Not equal"

      Not equal

      Suriin kung ang isang String ay naglalaman ng isang Substring

      Mayroong maraming mga paraan upang suriin kung ang isang string ay naglalaman ng isang substring.

      Ang isang diskarte ay ang paggamit palibutan ang substring na may mga simbolo ng asterisk * na nangangahulugang tumugma sa lahat ng mga character.

      #!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fi

      Ang script ay magbubunyi sa mga sumusunod:

      It's there.

      Ang isa pang pagpipilian ay ang paggamit ng regex operator =~ tulad ng ipinakita sa ibaba:

      #!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fi

      Ang panahon na sinusundan ng isang asterisk .* Tumutugma sa zero o higit pang mga naganap na anumang character maliban sa isang character na newline.

      Suriin kung ang isang String ay Walang laman

      Madalas na kakailanganin mo ring suriin kung ang isang variable ay isang walang laman na string o hindi. Maaari mong gawin ito sa pamamagitan ng paggamit ng -n at -z operator.

      #!/bin/bash VAR='' if]; then echo "String is empty." fi

      String is empty.

      #!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fi

      String is not empty.

      Paghahambing ng Mga Strings sa Operator ng Kaso

      Sa halip na gamitin ang mga operator ng pagsubok ay maaari mo ring gamitin ang pahayag ng kaso upang ihambing ang mga string:

      #!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esac

      Linuxize matched.

      Paghahambing sa Lexicographic

      Ang lexicographical na paghahambing ay isang operasyon kung saan ang dalawang mga string ay inihambing ayon sa alpabeto sa pamamagitan ng paghahambing ng mga character sa isang string na sunud-sunod mula sa kaliwa hanggang kanan. Ang ganitong uri ng paghahambing ay bihirang ginagamit.

      Ang mga sumusunod na script ay ihambing ang dalawang mga lexicographically ng mga string

      #!/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" fi

      Ang script ay maglalabas ng mga sumusunod:

      Ubuntu is lexicographically greater than Linuxize.

      Konklusyon

      Ang paghahambing ng string ay isa sa pinaka pangunahing at madalas na ginagamit na operasyon sa pag-script ng Bash. Matapos basahin ang tutorial na ito, dapat kang magkaroon ng isang mahusay na pag-unawa sa kung paano ihambing ang mga string sa Bash. Maaari mo ring suriin ang aming gabay tungkol sa string concatenation.

      terminal ng bash