Proměnné prostředí

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Použit styl .Reseni, upraveno.)
(Úkoly: Příklad přesunut před úkoly, upraven a naformátován.)
Řádka 113: Řádka 113:
  
 
Více viz také: [https://wiki.debian.org/EnvironmentVariables Wiki.Debian.org > EnvironmentVariables].
 
Více viz také: [https://wiki.debian.org/EnvironmentVariables Wiki.Debian.org > EnvironmentVariables].
 +
 +
; Příklad — tvorba a spouštění skriptu
 +
* Připravte složku s názvem <tt>binary</tt> ve své domovské složce.
 +
* Připravte v ní skript (vytvořte textový soubor) s názvem <tt>pozdrav</tt>.
 +
* V rámci skriptu vypište něco na obrazovku. (Příkazy, které se mají v rámci spuštění skriptu provést zapište do textového souboru <tt>pozdrav</tt>):
 +
echo "Ahoj"
 +
* Nastavte skriptu oprávnění pro spuštění:
 +
chmod 764 pozdrav
 +
* Skript nyní nejde spustit zapsáním jména skriptu, je třeba uvést cestu
 +
''$'' pozdrav
 +
''-bash: pozdrav: příkaz nenalezen''
 +
''$'' ./pozdrav
 +
''Ahoj''
 +
* Přidejte složku <tt>binary</tt> do proměnné <tt>$PATH</tt>.
 +
* Vyzkoušejte, že skript již lze spustit tak, že napíšete pouze název.
 +
 +
<div class="Poznamka">Poznámka:<br />
 +
Pokud v Ubuntu existuje složka <tt>bin</tt> ve Vaší domovské složce, automaticky se přidá do proměnné <tt>PATH</tt>.
 +
Tato akce se provede ve skriptu </tt>/.profile</tt>.
 +
</div>
 +
 +
  
 
== Úkoly ==
 
== Úkoly ==
Řádka 122: Řádka 144:
 
# Kdybyste smazali proměnnou $PATH. Půjdou spustit příkazy??? Jak to vyřešíte? Vyzkoušejte!
 
# Kdybyste smazali proměnnou $PATH. Půjdou spustit příkazy??? Jak to vyřešíte? Vyzkoušejte!
  
 
+
; Úkol: login skript
; Tvorba skriptu
+
*Zařidte, aby byla kdykoli po spuštění shellu dostupná proměnná <code>$LOGIN_TIME</code>, ve které bude uložen čas přihlášení.
*Připravte složku
+
**$HOME/binary
+
*Připravte v ní skript
+
**skript v něm, který něco vypíše na obrazovku
+
**pozdrav
+
***echo "Ahoj!"
+
**Nutné
+
***chmod 764 pozdrav
+
*skript nejde spustit zapsáním pouze jména, je třeba uvést cestu
+
**například ./pozdrav
+
<div class="Poznamka">Poznámka:<br />
+
Tato akce se provádí na Ubuntu automaticky v /.profile pro $HOME/bin, pokud složka $HOME/bin existuje.
+
</div>
+
*po nastavení složky do proměnné $PATH vyzkoušejte, že skript funguje
+
**zkusit, že skript funguje
+
 
+
 
+
; Příklad: login skript
+
*Zařidte, aby byla kdykoli po spuštění shellu dostupná proměnná $LOGIN_TIME, ve které bude uložen čas přihlášení.
+
 
*Použijte příkaz <code>date</code>
 
*Použijte příkaz <code>date</code>
 
*Vytvořte soubor <tt>.logintimes</tt>, ve kterém budou data spuštění bash-e pro každé přihlášení.
 
*Vytvořte soubor <tt>.logintimes</tt>, ve kterém budou data spuštění bash-e pro každé přihlášení.
Řádka 156: Řádka 159:
 
# PATH=
 
# PATH=
 
</div>
 
</div>
 
  
 
== Vyhodnocování příkazové řádky ==
 
== Vyhodnocování příkazové řádky ==

Verze z 8. 1. 2015, 07:49


Obsah

Proměnné prostředí

Příklad použití
Kde se používají proměnné
Příklady použití
  1. Typografický systém LaTeX používá proměnné pro uložení informací o umístění složek s fonty, spustitelnými soubory apod.
  2. Pokud chceme spouštět balíčky .JAR v Javě, musíme mít k prostředí Javy nastavenu cestu (viz Java: Export balíčku JAR).

Proměnné shellu × proměnné prostředí

Práce s proměnnými: bash

Vytvoření proměnné/nastavení hodnoty proměnné
promenna=hodnota
export promenna
export promenna=hodnota
   LANGUAGE=cs nano
Výpis hodnoty proměnné
echo $promenna
printenv promenna
Výpis všech proměnných
set
printenv
Smazání proměnné
promenna=
unset promenna
export -n promenna

Významné proměnné Unixu/Linuxu

   http_proxy=http://172.16.1.1:3128
Proměnná PATH funguje i ve Windows, jen jsou cesty oddělené středníkem.
   echo $USER
   EDITOR=nano
   LANGUAGE=en_US nano
   LANGUAGE=cs_CZ nano


Nastavení hodnoty trvale

Windows

GNU/Linux (shell bash)

Pro daného uživatele
Pro všechny uživatele

Více viz také: Wiki.Debian.org > EnvironmentVariables.

Příklad — tvorba a spouštění skriptu
echo "Ahoj"
chmod 764 pozdrav
$ pozdrav
-bash: pozdrav: příkaz nenalezen
$ ./pozdrav
Ahoj
Poznámka:

Pokud v Ubuntu existuje složka bin ve Vaší domovské složce, automaticky se přidá do proměnné PATH. Tato akce se provede ve skriptu </tt>/.profile</tt>.


Úkoly

Jednoduché úkoly
  1. Vypište všechny proměnné
  2. Vypište hodnotu proměnné $PATH.
  3. Nastavte proměnnou $MyBinDir na hodnotu ~/bin
  4. Přidejte cestu ~/bin do proměnné $PATH. Ověřte, že proběhlo správně.
  5. Kdybyste smazali proměnnou $PATH. Půjdou spustit příkazy??? Jak to vyřešíte? Vyzkoušejte!
Úkol
login skript


Řešení úkolů (Linux):

  1. set
  2. echo $PATH nebo set | grep PATH
  3. MyBinDir=~/bin
  4. PATH=$PATH:$HOME/bin
    echo $PATH
  5. PATH=

Vyhodnocování příkazové řádky


Zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje