Portál AbcLinuxu, 6. května 2025 16:23

Dotaz: Jak na výstup scriptu u uvnitř funkce která má nasměrované chyby do souboru

23.2.2019 14:17 Kraťas
Jak na výstup scriptu u uvnitř funkce která má nasměrované chyby do souboru
Přečteno: 305×
Odpovědět | Admin
Ahoj, mám funkci ve které potřebuji spustit soubor "/slozka/soubor-se-scriptem" tak, aby veškerý výstup šel na obrazovku a chyby se nesměřovaly v tuto chvíli do toho error.log souboru. Pomůže prosím někdo? Děkuji
mojefunkce(){
  #nejaky kod
  /slozka/soubor-se-scriptem
  #nejaky kod
}

mojefunkce 2>error.log
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.2.2019 14:48 NN
Rozbalit Rozbalit vše Re: Jak na výstup scriptu u uvnitř funkce která má nasměrované chyby do souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neni potreba nic. Jak jsi to napsal, tak to funguje be problemu. Pokud to u tebe nefunguje problem byhc hledal jinde.
23.2.2019 14:50 NN
Rozbalit Rozbalit vše Re: Jak na výstup scriptu u uvnitř funkce která má nasměrované chyby do souboru
Pokud nechces, aby se chybovy vystup smeroval do souboru tak ho do souboru proste nesmeruj a zavolej prazdnou funkci. Nebo nechapu.
23.2.2019 15:13 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na výstup scriptu u uvnitř funkce která má nasměrované chyby do souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Např. takhle:

#!/bin/bash

fce() {
    ls -l xxx
    ls -l yyy 2>&3
    ls -l zzz
}

fce 3>&2 2>error.log

Chybový výstup prvního a druhého příkazu skončí v souboru, druhého na chybovém výstupu skriptu (defaultně na terminálu)

mike@lion:~> ./script
ls: cannot access 'yyy': No such file or directory
mike@lion:~> cat error.log 
ls: cannot access 'xxx': No such file or directory
ls: cannot access 'zzz': No such file or directory
23.2.2019 16:46 Kraťas
Rozbalit Rozbalit vše Re: Jak na výstup scriptu u uvnitř funkce která má nasměrované chyby do souboru
Díky, přesně takové chování bych potřeboval....

A co přesně dělá tohle 3>&2 a tohle 2>&3

Dík
23.2.2019 20:18 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak na výstup scriptu u uvnitř funkce která má nasměrované chyby do souboru
Zjednodušeně řečeno "3>&2" přesměruje descriptor 3 tam, kam momentálně směřuje descriptor 2 (což je chybový výstup). Pokud to chcete přesněji, tak je to v podstatě to, co udělá dup2(2, 3).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.