Portál AbcLinuxu, 14. listopadu 2025 07:32
#obsah souboru /tmp/go
read -p "Váš mail:" MAIL
#funkce start
start ()
{
...
/tmp/go
...
}
#spustím funkci start a chyby přesměruji do souboru /tmp/error.log
start 2>/tmp/error.log
Když spustím funkce start která spustí soubor /tmp/go, tak na obrazovce nic neuvidím ale v souboru tmp/error.log mám napsáno
Váš mail:. Co je špatně? To přesměrování 2>? Má to být jinak? Nebo se musí zrušit to přesměrování před spuštěním /tmp/go? Díky za pomoc
/tmp na samosteatnej partícii, je z veľkou pravdepodobnosťou mountovaná ako noexec.
#!/bin/sh
read -p "Foo: " BAR
start ()
{
echo foobar
}
start 2> /tmp/foo.log
se chova podle ocekavani..
#!/bin/sh
get_mail()
{
echo -n "Zadej mail: "; read MAIL
}
start()
{
get_mail
if ! [ -n "$MAIL" ]; then echo "prazdny mail.." 1>&2; fi
}
start 2>> foo.log
Jiste, ze muzes spoustet souborno ale jak pořád nevím
ale proc, kdyz muzes zavolat funkci, nebo volat prikaz read primo..No jak jsem již psal, v té funkci start se ty scripty mění, jednou je to read jindy zase restart, jindy backup atd..
get_mail.sh
#!/bin/sh
echo -n "Zadej mail: "; read MAILADDR
export MAILADDR
main.sh
#!/bin/sh
start()
{
. get_mail.sh
if [ -z "$MAILADDR" ]; then echo "prazdny mail.." 1>&2; fi
}
start 2>> foo.log
Ten soubor get_mail.sh nechci sourcovat do té funkce start, nepotřebuji v té funkci start nepotřebuji ani znát žádný výsledek, vše se provede v souboru get_mail.sh a po ukončení scriptu chci vše ihned zahodit. Díky
V bashi vicemene nedelam, ale kdyz dam do google: "bash 1>&2", tak mi to najde relevantni odpovedi... Kdo neumi googlit, tezko muze byt v oblasti IT k necemu dobry...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.