Programowanie BASH

Bash „if -z” i „if -n” dla ciągów testowych

Bash „if -z” i „if -n” dla ciągów testowych

Instrukcja „if” w Bash może być używana z różnymi parametrami do wielu celów to. Za każdym razem, gdy pracujemy z napisami w Bash, bardzo ważne jest, abyśmy sprawdzili, czy napis jest pusty czy nie, aby nie powodował żadnych problemów w wykonaniu naszego programu. Zarówno flagi „-z”, jak i „-n” mogą być używane z instrukcją „if” do testowania ciągów, a my wyjaśnimy, jak można to zrobić w dzisiejszym artykule.

Uwaga: Linux Mint 20 służy do testowania poniższych przykładów.

Metoda używania basha „if -z” i „if -n” do testowania ciągów

Aby wyjaśnić użycie Bash „if -z” i „if -n” do testowania ciągów, chcielibyśmy podzielić się z wami następującymi przykładowymi scenariuszami.

Przykład nr 1: Użycie „if -n” do pokazania, że ​​ciąg ma wartość Null

Aby pokazać, że ciąg w Bash jest pusty, używając instrukcji „if -n”, wykonamy następujące kroki:

Najpierw utworzymy plik Bash w naszym katalogu domowym o nazwie Strings.sh, jak pokazano na poniższym obrazku:

Po utworzeniu tego pliku wpiszemy w naszym pliku skrypt pokazany na poniższym obrazku. Jak każdy skrypt Bash, pierwsza linia, i,.mi. „#!/bin/bash” jest obowiązkowe. Następnie zadeklarowaliśmy pusty ciąg o nazwie „name”. Ciąg pusty w Bash można zadeklarować, wyrównując zmienną do „”. Następnie mamy instrukcję „if”, po której następuje flaga „-n”, która zwraca prawdę, jeśli ciąg nie jest pusty. Użyliśmy tej flagi do przetestowania naszego ciągu „name”, który ma wartość null. Oznacza to, że warunek „if” nie zostanie wykonany, ponieważ wartość flagi „-n” będzie w tym przypadku fałszem. W związku z tym mamy również „inną” część, która zostanie wykonana poprzez wydrukowanie wiadomości na terminalu.

Teraz nadszedł czas na wykonanie tego pliku, co można zrobić za pomocą polecenia pokazanego poniżej:

$ bash Struny.cii

Ponieważ zadeklarowany przez nas ciąg był null, dlatego część „else” naszego skryptu została wykonana, a odpowiedni komunikat został wydrukowany na terminalu, jak pokazano na poniższym obrazku:

Przykład nr 2: Użycie „if -n” do pokazania, że ​​ciąg nie jest pusty

Aby pokazać, że łańcuch w Bash nie jest pusty przy użyciu instrukcji „if -n”, wykonamy następujące kroki:

W naszym pliku Bash wpiszemy następujący skrypt. Jedyną zmianą, jaką wprowadziliśmy w skrypcie, który utworzyliśmy powyżej dla tego scenariusza, jest to, że tym razem przypisaliśmy ciągowi „name” prawidłową nazwę. Oznacza to, że tym razem nasz ciąg nie jest pusty, co oznacza, że ​​część skryptu „if” powinna zostać wykonana.

Teraz uruchom skrypt jeszcze raz, a zauważysz, że nasz zmodyfikowany skrypt działa tak, jak chcieliśmy, wykonując tym razem część skryptu „jeśli”, jak pokazano na poniższym obrazku:

Przykład nr 3: Użycie „if -z” do pokazania, że ​​ciąg nie jest pusty

Aby pokazać, że łańcuch w Bash nie jest pusty, używając instrukcji „if -z”, wykonamy następujące kroki:

Skrypt dla tego scenariusza jest prawie taki sam jak dla scenariusza omówionego powyżej. Zamieniliśmy tylko flagę „-n” na flagę „-z”, ale tym razem zamieniliśmy również części skryptu „if” i „else”, ponieważ flaga „-z” zwraca prawdę, jeśli ciąg jest zerowe. Oznacza to, że tym razem „inna” część skryptu zostanie wykonana, ponieważ nasz ciąg nie był pusty.

Możesz to sprawdzić, uruchamiając skrypt, który właśnie zmodyfikowałeś, a zobaczysz, że Twój ciąg nie jest pusty, jak pokazano na poniższym obrazku:

Przykład nr 4: Użycie „if -z” do pokazania, że ​​ciąg ma wartość Null

Aby pokazać, że ciąg w Bash jest pusty, używając instrukcji „if -z”, wykonamy następujące kroki:

W tym scenariuszu użyliśmy tego samego skryptu, co w przykładzie nr 3. Jedyną zmianą, jaką wprowadziliśmy w tym skrypcie, jest to, że ustawiliśmy nasz ciąg znaków na null, przypisując mu wartość null, jak widać na poniższym obrazku:

Teraz, gdy uruchomimy ten skrypt, część „if” skryptu zostanie wykonana, ponieważ ciąg jest pusty, a zatem wartość flagi „-z” będzie prawdziwa, jak widać na poniższym obrazku:

Przykład nr 5: Pobieranie ciągu znaków wejściowych użytkownika i testowanie go za pomocą „if -z”

W celu przetestowania wprowadzonego przez użytkownika ciągu znaków z instrukcją „if -z” wykonamy następujące kroki:

Skrypt pokazany na obrazku poniżej skopiujemy do naszego pliku Bash. Tutaj prosimy użytkownika o wprowadzenie ciągu, a następnie zapisujemy ten ciąg w zmiennej „string” za pomocą polecenia „read”. Następnie testujemy ten ciąg za pomocą instrukcji „if -z”, która zostanie wykonana, jeśli ciąg ma wartość null. Jeśli tak się stanie, ten skrypt poprosi użytkownika o wprowadzenie prawidłowego ciągu, a następnie wypisze ten ciąg. Jeśli jednak użytkownik po raz pierwszy wprowadzi poprawny ciąg, zostanie wykonana „inna” część skryptu.

Po uruchomieniu tego skryptu Bash, gdy zostaliśmy poproszeni o wprowadzenie ciągu, celowo wprowadziliśmy ciąg pusty, i.mi., po prostu nacisnęliśmy klawisz Enter. Dlatego nasz terminal poprosił nas o wprowadzenie prawidłowego ciągu znaków, jak pokazano na poniższym obrazku:

Tym razem wprowadziliśmy prawidłowy ciąg „cześć”, a zatem terminal wydrukował odpowiedni komunikat, jak pokazano na poniższym obrazku:

Wniosek

Ten artykuł nauczył Cię wszystkich różnych metod, za pomocą których możesz przetestować swoje ciągi pod kątem wartości null lub nie, używając flag „-z” i „-n” z instrukcją „if”. Używając tych flag, możemy testować dowolne ciągi, a tym samym bardzo wydajnie używać ich w naszych skryptach.

Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...
Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...