| 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
fiif [ -n "$promenna" ] then exit 0 fi |
||
|
Časová prodleva: 6 let
|
|||
0