Portál AbcLinuxu, 26. dubna 2024 08:49


Dotaz: Oprava příkazu

8.2.2019 14:15 dnes
Oprava příkazu
Přečteno: 579×
Odpovědět | Admin
Ahoj, proč prosím tohle funguje
res=$(find /test -name 54)
a tohle nefunguje
id=54
res=$(find /test -name $id)
Díky moc....
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.2.2019 14:23 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Oprava příkazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Čo to znamená "nefunguje"? Mne sa zdá, že to funguje.
8.2.2019 14:31 dnes
Rozbalit Rozbalit vše Re: Oprava příkazu
No echo $res nic nevypíše.
8.2.2019 15:08 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Oprava příkazu
Tak nejspíš nic, co by se jmenovalo 54 nenašel.
k3dAR avatar 8.2.2019 17:20 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: Oprava příkazu
jako ze se vyparil? ;-)
tohle funguje
res=$(find /test -name 54)
porad nemam telo, ale uz mam hlavu... nobody
8.2.2019 21:11 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Oprava příkazu

Třeba nějaký test číslo 54 mezitím skončil a smazal po sobě soubory. Mně se stalo už hodněkrát, že jsem takhle naletěl u souborů, které nějaký můj nevychovaný program opakovaně vytváří a zase maže…

k3dAR avatar 8.2.2019 17:22 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: Oprava příkazu
a tohle vypise?
id=54; find /test -name $id
porad nemam telo, ale uz mam hlavu... nobody
8.2.2019 17:52 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Oprava příkazu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil bych tohle:
export id=54
res=$(find /test -name $id)
Jinak mi ten požadavek připadá nesmyslný. Zkus Bash používat jako shell.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
8.2.2019 21:05 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Oprava příkazu

Export tady nemá vůbec žádný vliv. Příkazovou řádku interpretuje shell. Příkaz find neuvidí znak dolaru ani jiný hint, že by snad měl hledat proměnnou id ve svém poli env, a především nemá žádný dokumentovaný důvod ji tam hledat. Uvidí v argv token 54 a nedozví se, odkud se vzal.

8.2.2019 22:24 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Oprava příkazu
No jo, funguje to správně i bez exportu.

Stejně je to hnus takhle prasit bashovské skripty.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.