Proměnné prostředí

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Přidáno do kategorie Příkazový řádek)
(Přidán odkaz na související stránky.)
 
(Není zobrazeno 6 mezilehlých verzí od 1 uživatele.)
Řádka 67: Řádka 67:
  
 
== Významné proměnné Unixu/Linuxu ==
 
== Významné proměnné Unixu/Linuxu ==
 +
Dále uvádíme proměnné, které jsou v unixových systémech často nastaveny.
 +
<div class="Poznamka">V&nbsp;závislosti na konkrétním nastavení počítače a zvolené distribuci ale některé z těchto proměnných nemusí být nastaveny.</div>
 
*http_proxy
 
*http_proxy
     http_proxy=http://172.16.1.1:3128
+
     http_proxy=ht<tt></tt>tp://172.16.1.1:3128
 
*PATH
 
*PATH
 
**složky, odkud se mohou spouštět soubory,
 
**složky, odkud se mohou spouštět soubory,
Řádka 86: Řádka 88:
 
     LANGUAGE=en_US nano
 
     LANGUAGE=en_US nano
 
     LANGUAGE=cs_CZ nano
 
     LANGUAGE=cs_CZ nano
 
+
*LANG
 +
** nastavení národního prostředí (<tt>cs_CZ.UTF-8</tt>, <tt>en_US.UTF-8</tt>)
 +
    LANG=en_US.UTF-8 nano
  
 
== Nastavení hodnoty trvale ==
 
== Nastavení hodnoty trvale ==
Řádka 100: Řádka 104:
 
; Pro daného uživatele
 
; Pro daného uživatele
 
* <tt>~/.profile</tt>
 
* <tt>~/.profile</tt>
** Spouští login shell, tedy se načítá jen po přihlášení počítače
+
** Spouští se při spuštění ''login shell-u'', tedy se načítá po přihlášení uživatele.
* Další možnosti: <tt>~/.bash_profile</tt>, ~./bash_login
+
** Pro zajímavost: v tomto skriptu se nastavuje hodnota proměnné <tt>PATH</tt> (Debian 6).
** pokud existují, bash je použije místo ~/.profile
+
* Další možnosti: <tt>~/.bash_profile</tt>, <tt>~./bash_login</tt>
 +
** pokud existují, <tt>bash</tt> je použije místo <tt>~/.profile</tt>
 
* <tt>~/.bashrc</tt>
 
* <tt>~/.bashrc</tt>
** Spouští se v non-login shellu, tedy pokud pustím z běžícího shellu druhý shell
+
** Spouští se v ''non-login shellu'', tedy pokud jsem již přihlášen a spouštím další shell (například z grafického prostředí, nebo příkazem <code>bash</code>)
 
; Pro všechny uživatele  
 
; Pro všechny uživatele  
 
* <tt>/etc/profile</tt>
 
* <tt>/etc/profile</tt>
Řádka 113: Řádka 118:
  
 
Více viz také: [https://wiki.debian.org/EnvironmentVariables Wiki.Debian.org &gt; EnvironmentVariables].
 
Více viz také: [https://wiki.debian.org/EnvironmentVariables Wiki.Debian.org &gt; EnvironmentVariables].
 
  
 
== Příklady ==
 
== Příklady ==
Řádka 133: Řádka 137:
 
<div class="Poznamka">Poznámka:<br />
 
<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>.  
 
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>.
+
Tato akce se provede ve skriptu <tt>/.profile</tt>.
 
</div>
 
</div>
  
Řádka 155: Řádka 159:
 
Řešení úkolů (Linux):
 
Řešení úkolů (Linux):
 
# <code>set</code>
 
# <code>set</code>
# <code>echo $PATH</code> nebo <code>set | grep PATH</code>
+
# <code>echo $PATH</code> nebo <code>set | grep ^PATH=</code>
 
# <code>MyBinDir=~/bin</code>
 
# <code>MyBinDir=~/bin</code>
 
# <code>PATH=$PATH:$HOME/bin</code><br /><code>echo $PATH</code>
 
# <code>PATH=$PATH:$HOME/bin</code><br /><code>echo $PATH</code>
Řádka 161: Řádka 165:
 
</div>
 
</div>
  
== Vyhodnocování příkazové řádky ==
+
== Související stránky ==
*Pořadí
+
* [[Vyhodnocení příkazů]]
**nahrazení proměnných
+
**nahrazení *, ?
+
**v uvozovnách se nenahrazuje
+
 
+
  
 
== Zdroje ==
 
== Zdroje ==
 
*[https://help.ubuntu.com/community/EnvironmentVariables Ubuntu.com -> Environment Variables]
 
*[https://help.ubuntu.com/community/EnvironmentVariables Ubuntu.com -> Environment Variables]
 
*[http://wiki.ubuntu.cz/V%C3%ADcejazy%C4%8Dn%C3%BD%20syst%C3%A9m Wiki.Ubuntu.cz -> Vícejazyčný systém]
 
*[http://wiki.ubuntu.cz/V%C3%ADcejazy%C4%8Dn%C3%BD%20syst%C3%A9m Wiki.Ubuntu.cz -> Vícejazyčný systém]

Aktuální verze z 12. 1. 2023, 00:35


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

Dále uvádíme proměnné, které jsou v unixových systémech často nastaveny.

V závislosti na konkrétním nastavení počítače a zvolené distribuci ale některé z těchto proměnných nemusí být nastaveny.
   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
   LANG=en_US.UTF-8 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říklady

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 /.profile.

Ú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=

Související stránky

Zdroje

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