Autor | Zpráva | ||
---|---|---|---|
Pavlínka Profil |
#1 · Zasláno: 17. 7. 2019, 13:52:40
Zdravíčko,
mám tu malý problém: funkce foo(), respektive curl, se mi v konzoli spustí 2x a vůbec netuším proč :D #!/bin/bash #spuštění scriptu foo() { curl http://127.0.0.1/bash.sh | bash } sleep 1 promenna=$(foo) delka=${#promenna} echo $delka if [ "$delka" == "0" ]; then exit 0 fi #kontrola a zápis do mysqli foo > /var/www/html/info.txt wget http://127.0.0.1/overeni.php -O /dev/null -o /dev/null |
||
mckay Profil |
#2 · Zasláno: 17. 7. 2019, 15:44:42
Není to tím, že ji nejprve voláš při přiřazení do proměnné
proměnná a potom opět později při zápisu do souboru přes >?
|
||
Pavlínka Profil |
#3 · Zasláno: 17. 7. 2019, 16:18:08
tak moc tomu nerozumím ... jednoznačně když vše odmau a nechám jen foo() a pak foo > ... tak se dvakrát nebovolá
podle mě se volá podruhé někde tady: promenna=$(foo) delka=${#promenna} ale tam nevím jak to jinak zapsat |
||
mckay Profil |
#4 · Zasláno: 17. 7. 2019, 16:26:44
Pavlínka:
Volá se v moment co máš $(foo) . Ten zápis $ a cokoliv v kulatých závorkách říká: Otevři subshell, vykonej cokoliv je v závorkách a vrať hodnotu (uloží se to tedy do proměnné promenna ).
|
||
Pavlínka Profil |
EDIT:
Vyřešila jsem to zápisem proměnné... děkuji echo $promenna > /var/www/html/info.txt |
||
tttt Profil * |
#6 · Zasláno: 17. 7. 2019, 19:03:15
Pavlínka:
Pokud nepotřebuješ vypisovat délku, můžeš delka=${#promenna} echo $delka if [ "$delka" == "0" ]; then exit 0 fi if [ -n "$promenna" ] then exit 0 fi |
||
Časová prodleva: 4 roky
|
0