Skip to content

Linux ‚set‘ Příkaz pro proměnné prostředí Bash

11 de Říjen de 2021
wV0w0KSTTj 7338f99bd16a46b9813d0a056bad3334

The soubor příkaz v systému Linux aktivuje nebo vymaže konkrétní příznaky nebo nastavení v prostředí prostředí Bash. Jiné shelly používají různé metody nastavení lokálních proměnných.

Pomocí příkazu Set

Příkaz set umožňuje ovládat určité příznaky a funkce v Bash a určit chování vašich skriptů. Tyto ovládací prvky pomáhají zajistit, aby vaše skripty sledovaly zamýšlenou cestu a určité vtípky v Bash se neproměnily v problémy. Začněte něčím jednoduchým. Řekněme, že chcete zakázat Bashovo výchozí chování při přepisování souborů, příznak „-C“ tomu zabrání. Například spuštění: set -C

type = „code“> konfiguruje Bash tak, aby nepřepisoval existující soubor při přesměrování výstupu pomocí >, > &, a <> je přesměrován do souboru. Ve výchozím nastavení Bash umožňuje přesměrovaný výstup přepsat stávající soubory.

Jak vidíte, zobrazí se zpráva informující o tom, že soubor nelze přepsat. Toto je obzvláště užitečné při ladění skriptů a nechcete nechtěně přijít o stávající data. Dále možná budete chtít zakázat automatické generování názvů souborů, obecněji známé jako „globbing“. Globbing může být velmi užitečný při hledání souborů, ale může také způsobit vážné problémy, pokud nepoctivá postava skončí ve vašem skriptu na špatném místě. Příznak ‚-f‘ jej deaktivuje. sada -f

Potom můžete zkusit spustit něco jako: ls *

Za normálních okolností byste na obrazovce viděli hromadu souborů a složek, ale nyní vám přijde pouze zpráva informující o tom, že žádný takový adresář neexistuje.

Linux set příkaz zakázat globbing

Při ladění skriptu pravděpodobně nechcete, aby částečně funkční skript stále běžel, což způsobilo zmatek nebo vytváření nesprávných výsledků. Můžete povolit příznak ‚-e‘, aby se skript okamžitě zastavil, když se něco pokazí. nastavit -e

Podobně příkaz set také umožňuje zjistit, který příkaz ve vašem skriptu se spouští, a za ním výsledek. To vám umožní přesnější ladění tím, že vám v reálném čase odečte, kde je váš skript a jaký je výsledek každého příkazu. Tato super užitečná funkce pochází z příznaku ‚-x‘. sada -x

Můžete si to vyzkoušet pomocí jednoduché smyčky while, abyste viděli každou iteraci. x = 10
zatímco [ $x -gt 0 ]; dělat
x = $[ $x-1 ]
echo $ x
spát 2
Hotovo

Všimněte si, jak se to hraje. Získáte přímý tisk z každého řádku. Poté Bash spustí řádek a poskytne vám výsledek, pokud existuje, a přejde na další řádek. Tato metoda může při ladění skriptů výrazně ušetřit čas.

Linux nastavit příkaz s příznakem x

Pokud jste to sledovali, pravděpodobně jste si všimli, že změny způsobené příkazem set se zdají trvalé. Oni nejsou. Chcete -li je deaktivovat, použijte znaménko plus (+) před kterýmkoli z příznaků. nastavit +x

Chcete -li získat další informace o tom, jak příkaz set funguje a co dokáže, můžete vždy spustit: set –help

Podrobnější rady ohledně konfigurace integrovaných proměnných pro Bash najdete v příručce k příručce k Bash soubor.