Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Problém v BASH-i

Zdravím,

mám pre mňa jeden nevysvetlitelný problém.

DefaultGateway_test () {

echo "Testing $DG, please wait..." && ping -c 5 -W 2 -i 1 $DG | grep "bytes from" > testing_file.txt
echo "Testing $DG, please wait..." && ping -c 5 -W 2 -i 1 $DG | grep "bytes from" > testing_file.txt

if grep -q "bytes from" ./testing_file.txt; then

	echo "IPv4 address is available!" && echo && rm testing_file.txt

	else

		echo "IPv4 address is not available!" && echo && rm testing_file.txt

fi

}

Vo funkcii mám 2 identické riadky (apsoň si to teda myslím), lennže 1 je skopírovaný z predošlej funkcie (ten funkčný) a jeden je napísaný znovu ručne. Prečo ten jeden riadok nefunguje? Už sa mi to pár krát stalo, ale vždy sa to nejako zázračne samo vyriešilo (teda zrejme niečo robím blbo).

2. riadok je funkčný, 1. riadok je nefunkčný, outputy = obrázky

Vopred ďakujem za všetky rady.
převod do code tagu (touchwood)

Řešení:

V chybném případě není mezera před "grep" mezerou, ale něco, co považuje bash za nemezerový znak, ač to tak vypadá (tipuji na x0D). Poznáš to podle chybové zprávy, za dvojtečkou "...line 30:" jsou dvě mezery, ne jedna jako v normální chybové hlášce. Takže ten znak, ač se zobrazuje jako mezera, je něco, co bash nacpe před "grep" a tudíž příkaz " grep" správně nezná. Zkus přepsat ručně tu mezeru, uvidíš, že to bude pochodovat.

PS: 2 touch: Nemusíš být arogantní a ukazovat, že jen ty nepíšeš humpolácké skripty. Když spěchám, napíšu to ještě horší. Hlavně, že mi to cválá :-)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
V chybném případě není mezera před "grep" mezerou, ale něco, co považuje bash za nemezerový znak, ač…
Rce 21.03.2018 20:29
Rce
od kdy je napsání pravdy arogance? Já jsem napsal tolik humpoláckých skriptů, a právě proto, když to…
touchwood 21.03.2018 20:46
touchwood
Ale houby kopnout, ale jde to napsat slušněji. Mi vadí arogance rádců, možná jsem to zrovna teď u te…
Rce 22.03.2018 00:05
Rce
navrhuji pakt o neútočení! :-)
touchwood 22.03.2018 10:18
touchwood
Souhlas, ale všichni rádcové skautíků by si měli zakoupit velice pevné nervy, zbavit se nadřazenosti… poslední
Rce 22.03.2018 16:57
Rce

V chybném případě není mezera před "grep" mezerou, ale něco, co považuje bash za nemezerový znak, ač to tak vypadá (tipuji na x0D). Poznáš to podle chybové zprávy, za dvojtečkou "...line 30:" jsou dvě mezery, ne jedna jako v normální chybové hlášce. Takže ten znak, ač se zobrazuje jako mezera, je něco, co bash nacpe před "grep" a tudíž příkaz " grep" správně nezná. Zkus přepsat ručně tu mezeru, uvidíš, že to bude pochodovat.

PS: 2 touch: Nemusíš být arogantní a ukazovat, že jen ty nepíšeš humpolácké skripty. Když spěchám, napíšu to ještě horší. Hlavně, že mi to cválá :-)

Souhlas, ale všichni rádcové skautíků by si měli zakoupit velice pevné nervy, zbavit se nadřazenosti nad tazateli z vzpomenout na svoje začátky. Ne, každý, kdo se blbě ptá, je blbec. Jen se neumí lépe zeptat. Tazatelé nejsou malí haranti, ale bezradní lidé, co se dostali do úzkých a hledání v Gůůůůůůůůůglu neovládají. V počátcích Poradny bývala ochota radit lepší. Pozoruji sice velké zlepšení (ale ještě dost toho zbylo), někteří rádcové se raději stáhli do hospody a nedělají tolik z uživatelů blbce, ani nehaní jejich zařízení, že mají krámy z mají všechno vyhodit. To víš, z dřívějších dob, když vidím jak někdo nadává uživatelům, tak mi to prostě jedno není, i když jsem byl odejit. Když bude slušnost od rádců, ochota radit, nearogance, nenadávání, nehanění schopností a zařízení, bude to ok a jsem spokojen, že má dávná práce nepřišla zcela na zmar. Ono i říci někomu, že je blbec, lze slušně :-). Zdar a pevné nervy přeji. ;-)
PS: Hergot, ty smajlící jsou tak mrňaví, že je nerozeznám ani s novejma brejlema.

Zpět do poradny Odpovědět na původní otázku Nahoru