Sziasztok!
Annyi kérdésem volna, hogy hogyan tudom bash-ben kezelni a lefuttatott program visszatérési értékét.
Azaz lefutott-e rendben, avagy sem.
Köszi
- 918 megtekintés
Hozzászólások
if grep valami *.txt >/dev/null; then echo 1; else echo 0; fi
- A hozzászóláshoz be kell jelentkezni
ezt kombináljuk össze atommókus megoldásával, és akkor látszik is:
grep -q valami *.txt ; echo $?
- A hozzászóláshoz be kell jelentkezni
Vagy ha csak a hibás futársól kell tájékozódni:
grep valami *.txt >/dev/null || echo "nem futott le rendesen!";
vagy:
grep valami *.txt >/dev/null && echo "rendesen futott le!";
--
"Az a szóbeszéd járja Amerikában, hogy két intelligens faj létezik a földön: emberek és magyarok." by Isaac Asimov
- A hozzászóláshoz be kell jelentkezni
Ez tök jó meg minden, de most látom, hogy pl. a wput, vagy wget nem így működik.
Hiába nem tudta letölteni a filet, a program rendesen lefutott ezért 0-val tér vissza. Feltöltésnél dettó.
Pont azt szeretném megtudni, hogy feltolta-e a filet, mert ha nem akkor alternatív megoldás...
- A hozzászóláshoz be kell jelentkezni
"de most látom, hogy pl. a wput, vagy wget nem így működik."
A wget pontosan így működik, és a wput is. Olvass bele a manba.
man wput:
"DIAGNOSTICS
Normally, the exit status is 0 if either everything went fine or there was nothing to do. If some files were skipped during the upload (due to timestamping or resume-rules) the exit status is set to 1. If some files failed to be transmitted due to an remote error, exit status is 2. If some files failed and some others were skipped, exit status is 3. For general problems like failure of some system-functions the exit status is 4."
Próbáld ki:
wget 'http://www.hup.hu/' ; echo $?
wget 'http://www.hup.hu/nemletezo' ; echo $?
wput testfile 'ftp://user:pass@ftpsite' ; echo $?
wput testfile 'ftp://user:badpass@ftpsite' ; echo $?
# wget -V | grep Wget
GNU Wget 1.11.4
# wput -V
wput version: 0.6
- A hozzászóláshoz be kell jelentkezni
Error: the url `ftp://user:pass@ftpsite' could not be parsed
Nothing done. Try `wput --help'.
0
Ezt értsem úgy, hogy ha jó útvonalat és accountot adok meg, a és a feltöltés nemsikerül, akkor !0 -val tér vissza ?
<1 leszel, vagy 0. vagy élő, vagy hulla>
- A hozzászóláshoz be kell jelentkezni
Most már értem, köszönöm!
Az tévesztett meg, hogy ha fake feltöltési útvonalat adok meg, akkor mivel oda nem tölti fel, akkor !0-val tér majd vissza.
<1 leszel, vagy 0. vagy élő, vagy hulla>
- A hozzászóláshoz be kell jelentkezni
az utolsonak lefuttatott progi visszateresi erteket a $? tartalmazza
/* bocs az esetleges helyesirasi hidakert */
- A hozzászóláshoz be kell jelentkezni
Nagyon köszi a segítséget, ez kellett nekem!
<1 leszel, vagy 0. vagy élő, vagy hulla>
- A hozzászóláshoz be kell jelentkezni