Kezdőlap › Fórumok › Programozás › parancsok kombinálása
- This topic has 18 hozzászólás, 10 résztvevő, and was last updated 18 years, 7 months telt el by
pointux.
-
SzerzőBejegyzés
-
2007-01-02-10:12 #2084761
Vagy pedig:
Code:if ( echo $* | grep „fájl=” ); then
mkdir ……
fiStb.
Persze az, hogy a fájl egyenlőségjel utáni részét hogy választod le, rajtad múlik. Egy sed talán hasznos lehet…2007-01-02-10:21 #2084762„Persze az, hogy a fájl egyenlőségjel utáni részét hogy választod le, rajtad múlik. Egy sed talán hasznos lehet…”
Bocs, de ez a szétválasztott paramétereket fűzzük össze, majd válsszuk szét dolog, csak bonyolítás. A sed meg lassítás…
Minek, amikor a bash gyönyörűen kezeli külön a paramétereket, csak a ciklust kell végigfuttatni rajtuk.
Csak a script –param1 subparam1.1 subparam1.2 subparam1.y… –paramx … subparamx.y sort kell használni az „–paramx=subparamx.1… subparamx.y” helyett, mert annak bonyolultabb és lassabb a feldolgozása. Meg kihagyni a Q. �nbsp;-eket, melyket nem volt kedvem már törölni… halálra idegesít… aszem iszok egy kis házi páleszt. 🙂2007-01-02-10:30 #2084763Vagy igen, igazad van. Egyszerűen csak:
fityfirity fájl Könyvtár_Amit_Létre_Akarok_Hozni own tulaj grp csoport, stb.
Eszembe se jutott, hogy nem kötlezeő egyenlőségjeles megadást használni…2007-01-02-10:51 #2084764Itt egy példa a „tetszőleges” mennyiségű param/subparam lista feldolgozására (meg az első két parancs listázására – ez csak a pl. kedvéért). És ez mindössze egy while ciklussal!:
#!/bin/bash
cmd_list[1]=””
param_list[1]=””
cmd_num=”0″while [ „$#” != „0” ]
do
case „$1″ in
%*)
shift
cmd_num=$[cmd_num]+1
cmd_list[${cmd_num}]=”$1”
;;
*)
param_list[${cmd_num}]=”${param_list[${cmd_num}]} $1″[code]#!/bin/bashcmd_list[1]=””
param_list[1]=””
cmd_num=”0″while [ „$#” != „0” ]
do
case „$1” in
%*)
shift
cmd_num=$[cmd_num]+1
cmd_list[${cmd_num}]=”$1″
;;
*)
param_list[${cmd_num}]=”${param_list[${cmd_num}]} $1″2007-01-02-10:53 #2084765A hp határozottan jót tett… hát még milyen jót tenne a kp. ;D
2007-01-02-11:25 #2084766Bár a legutolsó megoldás ehhez a feladathoz így ebben a formában inkább csak érdekesség, mert a „file-t”, így többször kéne beírni. Egyébként is 4-5 paramétert egyszerű beírni… Ez akkor jó, amikor sok és meghatározatlan számúról van szó. De akkor ezt célszerű használni. (Meg amúgy is, jó kis bash tananyag ez. :-))
2007-01-02-11:25 #2084767Egyébként egy sorban is teljesen jó, a script indokoltságát még nem látom:
Code:mappa=’/valami/mappa’ ; sudo mkdir $mappa && sudo chmod $mappa && echo -en „Menj a francba $mappa! n” && rm $mappa2007-01-02-11:27 #2084768„a script indokoltságát még nem látom”
Gondolom előbb utóbb, valami komplexebb dologra szeretné használni… Most csak „kicsiben” próbálkozik.2009-12-04-19:58 #1885276Hali
Lehet több parancsot megadni egy sorban?
pl: root# mkdir chmod 777 /mappa Tehát a példában egy 777 hozzáférésű mappát szeretnék létrehozni egy lépésben. Vagy csak a két lépéses megoldás működik?
root# mkdir /mappa
root# chmod 777 /mappa
Egyéb megoldás??Köszi
Hali
BUÉK!! :d -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz