Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - filip.z

Stran: [1]
1
Vývoj / Bash a vícenásobné předávání proměnných
« kdy: 11. 02. 2013, 16:48:24 »
Ahoj,

chci se zeptat ohledně bashe a předávání proměnných funkcím přes poziční parametry.

Moje blíže nespecifikovaná funkce ( funkce_1 ) je volána s několika parametry, z nichž některý může být i hvězdička.
V takové případě musím při volání této funkce hvězdičku obalit apostrofy, uvozovkami či předsadit zpětným lomítkem.

Tedy např.:

Kód: [Vybrat]
funkce_1 prvni_argument \* treti_argument

Potud je vše v pořádku.

Pak ale následuje další funkce ( funkce_2 ) která zavolá funkci_1 pro každý svůj argument.

Tedy:

Kód: [Vybrat]
funkce_2 () {

  while [ $# "= 0 ]; do

    funkce_1 $1
    shift

  done

}

A tady nastává problém:

Zde je příklad volání funkce_2 se dvěma způsoby zadání argumentů, z nichž ani jeden nedělá to, co bych potřeboval:

Kód: [Vybrat]
funkce_2 "prvni_argument * druhy_argument" "prvni_argument \* treti_argument"

Funkce_2 zavolá pro svůj první parametr funkci_1 s argumenty : prvni_argument, místo hvězdičky jména souborů aktuálního adresáře a treti_argument.

Jenže já tam chci tu hvězdičku.
Domníval jsem se, že pokud před ni dám lomítko, že tam hvězdička zůstane - viz druhý argument funkce_2.
Zůstala, jenže i s lomítkem. Totéž i pro apostrofy a uvozovky. A já bych rád právě a jenom hvězdičku.

Pokud někdo pochopíte můj problém, budu rád, pokud mi sdělíte svůj názor, případně vysvětlíte kde je problém nebo co chápu špatně.
Díky.




Stran: [1]