Portál AbcLinuxu, 10. května 2025 02:24
#!/bin/sh
export rok=`Xdialog --inputbox "Zadaj rok" 0 0`
echo "$rok"
export year=$rok
vypis=`Xdialog --msgbox "zadal si $year" 10 40`
echo "Zisťuje sa existencia adresárov v systéme"
for x in /media/hda5/lugesa/archiv/lugesa_$year/; do
if [ -d "$x" ]; then
# echo "Adresár $x existuje"
vypis=`Xdialog --msgbox "adresár $x existuje" 10 40`
else
# echo "Adresár $x neexistuje"
vypis=`Xdialog --msgbox "adresár $x nexistuje a bude vytvorený nový" 10 40`
mkdir /media/hda5/lugesa/archiv/lugesa_$year/
fi
done
prvý problém mám v tom že premenná rok po vložení do Xboxu mi ďalej neexistuje takže už ani echo mi ju nevypíše ako ju mám predať ďalej alebo zafixovať kým script bude bežať?
dík miro
--stdout. IMHO export neni nutny...
#!/bin/sh
rok=`Xdialog --stdout --inputbox "Zadaj rok" 0 0`
echo "$rok"
export year=$rok
vypis=`Xdialog --msgbox "zadal si $year" 10 40`
echo "Zisťuje sa existencia adresárov v systéme"
for x in /media/hda5/lugesa/archiv/lugesa_$year/; do
if [ -d "$x" ]; then
# echo "Adresár $x existuje"
vypis=`Xdialog --msgbox "adresár $x existuje" 10 40`
else
# echo "Adresár $x neexistuje"
vypis=`Xdialog --msgbox "adresár $x nexistuje a bude vytvorený nový" 10 40`
mkdir /media/hda5/lugesa/archiv/lugesa_$year/
fi
done
Ešte by som mal ďalšiu otázočku ako sa dostanem späť pred "for" to znamená že adresár ktorý nebol sa vytvorí a potrebujem znovu overiť atd... proste ak ten adresár už existuje samozrejme zadám za "then" ďalšie príkazy potrebujem niečo ako do - loop alebo návesť na ktorú sa vráti
dík miro
for x in /media/hda5/lugesa/archiv/lugesa_$year/; do while adresar stale neexistuje ; do ...kod... done doneAle asi se tomu nebudou libit ruzne stavy jako treba zapis na readonly -> zacykleni.
#!/bin/sh
rok=`Xdialog --stdout --inputbox "Zadaj rok" 0 0`
echo "$rok"
export year=$rok
vypis=`Xdialog --msgbox "zadal si $year" 10 40`
echo "Zisťuje sa existencia adresárov v systéme"
y=0; # inicializuje hodnotu y na 0
while [ "$y" -le 1 ]; do
for x in /media/hda5/lugesa/archiv/lugesa_$year/; do
if [ -d "$x" ]; then
echo "Adresár $x existuje"
exit
else
echo "Adresár $x neexistuje"
mkdir /media/hda5/lugesa/archiv/lugesa_$year/
fi
done
echo "Aktuálna hodnota y: $y"
# zvýšenie hodnoty y o 1
y=$(expr $y + 1)
sleep 1
done
a už to ide ako som chcel samozrejme tie echá vymažem
nepoznám shell ešte dobre- naozaj vrelá vďaka.
miro
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.