Fórum Ubuntu CZ/SK

Ostatní => Archiv => Téma založeno: Phoenix 06 Července 2007, 18:58:19

Název: Zachycení návratové hodnoty programu
Přispěvatel: Phoenix 06 Července 2007, 18:58:19
Ani to nepatří tak do tohoto fóra, ale třeba někdo poradí. Lze nějak zachytit návratovou hodnotu programu v konzoli? Dejme tomu že mám kód:

int main(void)
{
if (true)
return 1;
else
return 0;
}

Když ho nyní zkompiluji, jde potom nějak spustit tak, abych zachytil návratovou hodnotu (v tomto případě 1)?
Název: Zachycení návratové hodnoty programu
Přispěvatel: Phoenix 06 Července 2007, 19:31:49
Tak jsem trochu studoval a objevil pěknou stránku pro bash. Tohodle jsem chtěl dosáhnout:

#!/bin/bash

Kód: [Vybrat]
pokus=0;
while true; do

if fping "www.google.cz"
then
aplay -q "/usr/local/share/psi/sound/chat2.wav"
else
pokus=$(($pokus+1))
echo "$pokus"
fi
sleep 1

done
http://docs.linux.cz/programming/interpreted/bashdoc-1.4/
Název: Zachycení návratové hodnoty programu
Přispěvatel: Tomáš Pikálek 06 Července 2007, 19:34:45
Tam, kde chcete, aby se vložil výstup programu, vložíte `program`, např.
dmesg | grep `program`

//Edit: Pozdě no...
Název: Zachycení návratové hodnoty programu
Přispěvatel: Pavelp 08 Července 2007, 20:23:25
Kdo ji ma chytit? Jestli bash, je schovana ve $?. Jestli init, tak to nevim.