Autor Zpráva
Pavlínka
Profil
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

1#!/bin/bash
2 
3#spuštění scriptu
4foo() {
5curl http://127.0.0.1/bash.sh | bash
6}
7sleep 1
8 
9promenna=$(foo)
10delka=${#promenna} 
11echo $delka
12if [ "$delka" == "0" ]; then
13exit 0
14fi
15 
16 
17#kontrola a zápis do mysqli
18foo > /var/www/html/info.txt
19wget http://127.0.0.1/overeni.php -O /dev/null -o /dev/null
#!/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
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
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} 
promenna=$(foo)
delka=${#promenna} 


ale tam nevím jak to jinak zapsat
mckay
Profil
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
echo $promenna > /var/www/html/info.txt
tttt
Profil *
Pavlínka:
Pokud nepotřebuješ vypisovat délku, můžeš
1delka=${#promenna} 
2echo $delka
3if [ "$delka" == "0" ]; then
4exit 0
5fi
delka=${#promenna} 
echo $delka
if [ "$delka" == "0" ]; then
exit 0
fi
nahradit za
1if [ -n "$promenna" ]
2then
3  exit 0
4fi
if [ -n "$promenna" ]
then
  exit 0
fi
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0