Sveiki,
Reikia pagalbos su bash script. Yra failas YER kuriame yra 4 zodziai, reikia sukurti bash scripta kuris paimtu informacija is YER failo ir sukurti 4 folderius, naudojant For cikla. Gal kas galetu pagelbeti ? Aciu.
Tai nesaugu!
#!/bin/bash failas="$HOME/tmp/YER" kur="$HOME/tmp" for foo in `cat $failas`; do mkdir $kur/$foo done
kazkodel jis man sukuria folderi su cat uzrasu ,o ne is failo tuos zodzius.
Perrašinėdamas panaudojai ne tas kabutes - vietoj backticks `, panaudojai paprastas kabutes '.
Kad niekad nesusipainiotum tarp backticks ir paprastų kabučių savo skriptuose naudok tokią išraišką $( komanda ).
Taigi gali perrašyti šį skriptą taip:
#!/bin/bash failas="$HOME/tmp/YER" kur="$HOME/tmp" for foo in $( cat $failas ); do mkdir $kur/$foo done
Mano variantas:
#!/bin/sh test "" != "$1" || exit 1 for item in $(cat $1) ; do mkdir -p $item done
Paleisti reikia taip:
./skripto_vardas.sh YER
Šiaip tai tokiam reikalui nereikia net skripto, užtenka tokios vienos komandos:
for d in $(cat YER) ; do mkdir -p $d ; done
Aciu, abieju veikia, jo buvau tikrai blogas kabutes uzdejas.
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=1&t=7611
Sveiki,
Reikia pagalbos su bash script. Yra failas YER kuriame yra 4 zodziai, reikia sukurti bash scripta kuris paimtu informacija is YER failo ir sukurti 4 folderius, naudojant For cikla. Gal kas galetu pagelbeti ? Aciu.
Tai nesaugu!
kazkodel jis man sukuria folderi su cat uzrasu ,o ne is failo tuos zodzius.
Perrašinėdamas panaudojai ne tas kabutes - vietoj backticks `, panaudojai paprastas kabutes '.
Kad niekad nesusipainiotum tarp backticks ir paprastų kabučių savo skriptuose naudok tokią išraišką $( komanda ).
Taigi gali perrašyti šį skriptą taip:
Mano variantas:
Paleisti reikia taip:
Šiaip tai tokiam reikalui nereikia net skripto, užtenka tokios vienos komandos:
Aciu, abieju veikia, jo buvau tikrai blogas kabutes uzdejas.
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=1&t=7611