Portál AbcLinuxu, 15. května 2025 21:11
res=$(find /test -name 54)a tohle nefunguje
id=54 res=$(find /test -name $id)Díky moc....
tohle funguje res=$(find /test -name 54)
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…
id=54; find /test -name $id
export id=54 res=$(find /test -name $id)Jinak mi ten požadavek připadá nesmyslný. Zkus Bash používat jako shell.
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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.