Specjalne zmienne w Zsh

Specjalne zmienne w Zsh

ZSH to potężna powłoka, która zapewnia szeroki zakres funkcji i funkcji, aby poprawić wrażenia użytkownika. Jedną z kluczowych funkcji ZSH jest obsługa specjalnych zmiennych, które pozwalają użytkownikom łatwo i wydajnie wykonywać różne zadania.

W tym artykule zbadamy jedne z najbardziej przydatnych specjalnych zmiennych w ZSH i omówimy, w jaki sposób można je wykorzystać do ulepszenia skontleniach.

0 USD - Uzyskaj nazwę uruchamiania skryptu

0 USD Zmienna w ZSH odnosi się do nazwy bieżącego skryptu lub powłoki. Ta zmienna jest szczególnie przydatna, gdy trzeba określić nazwę aktualnie uruchomionego skryptu. Możesz użyć zmiennej 0 USD do wyświetlania nazwy skryptu lub możesz go użyć w instrukcjach warunkowych, aby wykonać określone działania na podstawie nazwy skryptu.

Na przykład, jeśli masz o nazwie skrypt „Myscript.Zsh”I chcesz sprawdzić, czy działa, możesz użyć następującego kodu:

#!/bin/bash, jeśli [[$ 0 == "myscript.Zsh "]]; następnie echo" Uruchamianie myscript.Zsh „else echo” nie działa myscript.Zsh "fi
1234567#!/bin/bash, jeśli [[$ 0 == "myscript.zsh "]]; thenecho" Uruchamianie myscript.Zsh „Elseecho” nie uruchamia myscript.Zsh "fi

$# - Zdobądź liczbę argumentów

$# Zmienna w ZSH odnosi się do liczby argumentów przekazanych do skryptu lub funkcji. Ta zmienna jest szczególnie przydatna, gdy trzeba sprawdzić liczbę argumentów przekazywanych do skryptu lub funkcji i wykonać różne działania w oparciu o liczbę argumentów.

Na przykład, jeśli masz skrypt, który oczekuje dwóch argumentów, możesz użyć następującego kodu, aby sprawdzić, czy skrypt został wywołany z prawidłową liczbą argumentów:

#!/bin/bash if [[$# -NE 2]]; Następnie Echo „Zastosowanie: MyScript.Zsh arg1 arg2 "exit 1 fi
123456#!/bin/bash if [[$# -NE 2]]; Użycie thenecho: MyScript.ZSH arg1 arg2 "exit 1fi

$? - Status wyjścia ostatniego polecenia

$? Zmienna w ZSH odnosi się do statusu wyjścia ostatniego wykonanego polecenia. Ta zmienna jest szczególnie przydatna, gdy trzeba sprawdzić, czy polecenie zakończyło się powodzeniem, czy nie, i wykonywanie różnych działań na podstawie wyniku.

Na przykład, jeśli masz polecenie, które tworzy plik i chcesz sprawdzić, czy polecenie zakończyło się powodzeniem, możesz użyć następującego kodu:

#!/bin/bash touch myfile.txt, jeśli [[$? -Eq 0]]; Następnie echo „Plik utworzony pomyślnie” Else Echo „Błąd tworzenia pliku” FI
123456789#!/bin/bash touch myfile.txt, jeśli [[$? -Eq 0]]; Następnie echo „Plik utworzony pomyślnie” Else Echo „Błąd tworzenia pliku” FI

$! - Uzyskaj identyfikator procesu ostatniego polecenia

$! Zmienna w ZSH odnosi się do identyfikatora procesu ostatniego polecenia wykonanego w tle. Ta zmienna jest szczególnie przydatna, gdy trzeba monitorować postęp pracy w tle lub zabić pracę w tle.

Na przykład, jeśli masz długotrwałe polecenie, które chcesz uruchomić w tle, możesz użyć następującego kodu, aby uruchomić polecenie i zapisać jego identyfikator procesu:

#!/bin/bash long_running_command & pid = $!
1234#!/bin/bash long_running_command & pid = $!

Następnie możesz użyć $! zmienna do monitorowania postępu pracy w tle lub w razie potrzeby zabijania go:

#!/bin/bash if [[some_condition]]; Następnie zabij $ pid fi
12345#!/bin/bash if [[some_condition]]; Następnie zabij $ pidfi

[chroniony e -mail] - Uzyskaj wszystkie argumenty wiersza poleceń

[chroniony e -mail] Zmienna w ZSH odnosi się do wszystkich argumentów przekazanych do skryptu lub funkcji jako oddzielnych słów. Ta zmienna jest szczególnie przydatna, gdy trzeba przekazać wszystkie argumenty do innego polecenia lub funkcji.

Na przykład, jeśli masz skrypt, który musi przekazać swoje argumenty do innego polecenia, możesz użyć następującego kodu:

Some_Command $@
1Some_Command $@

Wniosek

Podsumowując, specjalne zmienne w ZSH to potężne narzędzia, które mogą pomóc w wykonaniu różnych zadań w łatwym i wydajnym wykonywaniu. Zmienne omówione w tym artykule to tylko kilka przykładów wielu specjalnych zmiennych dostępnych w ZSH. Ucząc się, jak skutecznie korzystać z tych zmiennych, możesz napisać bardziej wydajne i potężne scenariusze powłoki, które mogą pomóc Ci zrobić więcej w krótszym czasie.