Új hozzászólás Aktív témák
-
-
szoke12
őstag
Xls(x)-t tudok xml-be konvertálni valahogy?
"Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
-
SteveBeard
senior tag
Sziasztok!
Kéne egy "kis shell script topik" is kezdőknek...
Két számot kéne összehasonlítanom a problémám csak az, hogy tizedes számról van szó eben a formában.
1.11
Egész számokkal működik
if [[ 3 -ge 2 ]]
then
echo "nagyobb"
else
echo "kisebb"
fi
de ha így írom be
if [[ 3.00 -ge 2 ]]
then
echo "nagyobb"
else
echo "kisebb"
fi
bad number hibaüzenetet kapom.Steve
-
válasz SteveBeard #1356 üzenetére
a bash nem kezel törteket. szét kell szedned egész részre és tört részre.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
szoke12
őstag
válasz SteveBeard #1358 üzenetére
Próbáld ki a bc-t. lehet telepíteni kell.
az elméletileg tud ilyet."Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
szoke12
őstag
Helló!
Csinálok épp egy olyan progit, ami sok fileból áll. ezek mind scriptek, futtathatóak. viszont majdnem mindegyikben van változódeklaráció, és változóérték-hivatkozás is. de amit az egyikben ledeklarálok, azt a másik srcipt már nem tudja. valahogy tudnám exportálni a változókat, hogy legyen a scriptek közt "átjárás"? hogy kezeljék egymás változóit?"Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
válasz szoke12 #1360 üzenetére
alapvetően sehogy, mert amit másik futtatási környezet futtat, azt nem látja.
megkerülni úgy lehet, hogy a deklarációkat egy fájlba teszed, és ponttal beolvasod oda, ahol szintén szükséges.
tehát így:#! /bin/bash
. valtozok.sh
másik megoldás, hogy a változót exportálod a futtatási környezetbe, így a belőle indított al-shellek is látni fogják. a bash manual olvasgatása javasolt az export utasítás környékén. de ez még mindig nem teljes megoldás.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
-
-
válasz szoke12 #1362 üzenetére
Én perl-t hivogatnék bash-ból, és IPC-t használnék.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
-
-
válasz Jester01 #1368 üzenetére
egyébként ha nagyon muszáj sok számot visszaadni, akkor úgy szoktam, hogy a meghívott script végén egy printf, a hívást pedig ertek=$(scriptnev par par) formában csinálom, és az értékeket szam|szam|szam alakban adom vissza.
elég barkács módszernek érzem.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Jester01
veterán
válasz bambano #1369 üzenetére
bash-t feltételezve elég szép módszer, ha a hívott script asszociatív tömb inicializációs listát ad vissza (más nyelvekben tuple )
$ cat parent.sh
#! /bin/bash
declare -A result=$(./child.sh)
echo ${result[foo]} ${result[bar]}
$ cat child.sh
#! /bin/bash
echo "([foo]=42 [bar]=1)"
$ ./parent.sh
42 1Jester
-
-
szoke12
őstag
Helló!
Vannak számok, és nekem el kell döntenem, hogy hány 0 van az elején. Ha 1 darab van, nincs gond, maradhat a szám. De ha 2, vagy 3 darabbal kezdődik, akkor csak egy db 0-nak szabad maradnia. Még az nehezít, hogy előfordulhat a számban több 00 is.
Ha valami megoldást tudtok, előre is köszönöm!"Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
Jester01
veterán
válasz szoke12 #1373 üzenetére
bash specifikus megoldás arra az esetre ha mindenképp van az elején nulla vagy ha kell az elejére nulla akkor is ha nincs:
$ shopt extglob
extglob on
$ x=123
$ echo 0${x##+(0)}
0123
$ x=0123
$ echo 0${x##+(0)}
0123
$ x=00123
$ echo 0${x##+(0)}
0123
$ x=000123
$ echo 0${x##+(0)}
0123
$ x=12003
$ echo 0${x##+(0)}
012003Szabványos megoldás:
case "$1" in
0*)
echo -n 0
expr substr "$1" \( index "$1" 123456789 \) \( length "$1" \)
;;
*)
echo "$1"
;;
esacJester
-
buca84
őstag
Olyan kérdésem lenne, hogy tudnátok segíteni abban, hogy script segítségével megoldható lenne az alábbi dolog?
Egy adott felhasználó adott időt használhassa a gépet, majd a rendszer léptesse ki és ne engedje vissza.Vagy erre lenne más megoldás?
Szájbarágósan vki le tudná vezetni. Soha nem programoztam.
Köszi!
-
-
vanek
tag
Üdv
Olyan problémám lenne, hogy mi a bah ezzel?
#! /usr/bin/bash
case $1 in
[0-9]*) echo szam;;
[a-z]*) echo betu;;
esaca hiba pedig szintaktikai hiba a váratlan $'in\r' vezérjelkörül `case $1 in
vélemény?
köszi
-
Nálam megy rendesen
#!/bin/bash
case $1 in
[0-9]*) echo szam;;
[a-z]*) echo betu;;
esac$ ./proba.sh asd
betutely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
Jah, hogy cygwin . Az egy végtelenül erőszakos, és nem mellesleg bugos cucc, de tudtommal egyetlen, ami windowsra van.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
Vagy vm-t csinálsz magadnak és akkor egy teljes értékű Linuxot fogsz tudni használni . Ajánlom a virtualboxot. Én pont Linux alatt csináltam vm-t az XP-nek .
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
vanek
tag
válasz Jester01 #1385 üzenetére
Köszi szépen a segítségeket! sajnos a konvertálás nem jött össze :\ szedtem hozzá programot, próbáltam paranccsal is..de semmi:\
A vm jó ötlet volt! fel is raktam a legújabb ubuntut, de sajnos kevés hozzá a gépem, így akadt mint a fene
Végül találtam egy bash nevű progit, ami jó arra amire kell
nos lenne még egy problémám..
#! /bin/bash
szam=0
szorzat=1
osszeg=0
I=$1
for I in $@
do
case $1 in
[1-9]*) $((szorzat = szorzat*$1)) $((osszeg = osszeg + $1)) $((szam = szam + 1)) 2> /dev/null ;;
[a-z]*) echo Hiba! $1 nem szam;;
esac
shift
done
atlag =`expr $osszeg \ $szam`
echo $szorzat
echo $osszeg
echo $atlag
echo $szama probléma pedig, hogyan számolok átlagot? valamint, [1-9]*) $((szorzat = szorzat*$1)) $((osszeg = osszeg + $1)) $((szam = szam + 1)) ezt a sort, nem lehetne egyszerűbben megoldani? és miért kell dupla zárójel sajna máshogy nem működött!
köszi
[ Szerkesztve ]
-
Jester01
veterán
Azért kell a dupla zárójel mert így találták ki.
Egyébként általában inkább szorzat=$((szorzat*$1)) formában szokás írni mert úgy talán olvashatóbb (és persze azt a hármat külön sorokba). Az átlagszámításnál ne \ (visszaper, backslash) karaktert használj, hanem a "rendes" / perjelet. A shell sajnos csak egész aritmetikát használ tehát ha neked tizedestörtek kellenek akkor ajánlott valami segédprogram (jellemzően bc) alkalmazása.Jester
-
galaxyman
csendes tag
Sziasztok,
Ezt a feladatot meg tudná nekem valaki csinálni? Nagyon hálás lennék érte : Készíts szkriptet, amelyik 2 fájlt kap paraméterül. Az egyik fájlban egy szöveg található, a másikban szópárok. A szópárok első tagját ki kell cserélni a szövegben a második szóra. Ellenőrzésekkel (paraméter, fájl). -
-
evi1101
csendes tag
Sziasztok! Van 4 feladatom amiben a segítségeteket szeretném kérni.
1. Írjon shell scriptet, mely addig kér be számokat, míg 0-t nem kap. Ha ez megtörténik írja ki
az addig beolvasott számok összegét!
2. Írjon shell scriptet, mely a paraméterül kapott számok közül kiírja a legkisebbet, a
legnagyobbat és a számok átlagát!
3. Írjon shell scriptet, mely bekér 3 számot és eldönti, hogy megszerkeszthető-e belőlük a
háromszög. Ha igen, akkor határozza meg azt is, hogy milyen típusú háromszög!
4. Írjon shell scriptet, mely bekéri a felhasználótól, hogy mely 5 db 1-90 közötti számokat
szeretné megtenni az eheti ötöslottón, majd véletlen szám generálással kisorsolja az 5 db
nyerő számot és végül kiírja a kisorsolt számokat és hogy hány találata volt! (A számok
között ismétlődés értelem szerűen sehol sem megengedett!)
Ezt kaptuk gyakorlásnak a zh-ra csak még hasonlókat sem gyakoroltunk órán...
Előre is köszönöm a segítséget -
válasz evi1101 #1392 üzenetére
A segítség a mi értelmezésünkben arról szól, hogy ha megakadtál, megsúgjuk azt az 1-2 kulcsszót, amivel továbblendülsz. A segítség biztosan nem jelenti azt, hogy megírjuk helyetted az egészet, az sem nem volna etikus, sem nem volna törvényes.
De erről alig pár hsz-szel korábban már volt itt szó.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
válasz bambano #1393 üzenetére
Jönnek az utolsó hetek az egyetemeken . Ilyenkor mindenhol megszaporodnak az ilyen jellegű kérések.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
szoke12
őstag
helló!
a scriptemben szertnék változókat gyártatni, és mindegyiket értékkel ellátni.
pl:
T1=1
T2=2
T3=3
.
.
.
de mivel sok ilyen van (kb 50 db), így a változók sorszámozását egy while paranccsal szeretném előállíttatni.
hogy tudom a változó nevét úgy megadni, hogy abban mindig legyen egy szám (egy változóból), ami egyel nő?"Élj úgy, hogy ha majd lepereg előtted életed filmje, érdemes legyen végignézni!"
-
vanek
tag
Üdv!
Lenne két gyors kérdésem..
van egy script:#! /usr/bin/awk -f
{
FS=";"
tav[$2] += $5
}
END{
for(taj in tav)
{
print taj, " " tav[taj]
}
}ezzel szeretném összeadatni a tájegységekhez tartozó távokat
Romania; Kelemen-havasok; Marosheviz; Pietros; 11
Magyarorszag; Borzsony; Diosjeno; Nagy-hideg-hegy; 19
Romania; Kelemen-havasok; Marosheviz; Pietros; 25
Magyarorszag; Matra; Gyongyos; Matraszentistvan; 23
Magyarorszag; Borzsony; Diosjeno; Nagy-hideg-hegy; 12
Magyarorszag; Matra; Gyongyos; Matraszentistvan; 18
Romania; Kelemen-havasok; Marosheviz; Pietros; 17$2 taj $5 a tav
na most ilyen formában ezt az eredményt kapom:
Matra 41
Borzsony 31
Kelemen havasok 42
Kelemen havasok; 11az első sorral van valami probléma..:\ de nem tudom, hogy mi lehet a baj, ha pedig nyomok egy entert, az első sor elé, akkor pedig azt kapom, hogy
Matra 42
0
Borzsony 31
Kelemen havasok 53Előre is köszi
Új hozzászólás Aktív témák
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.03.15
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Windows 10/11 Home/Pro licenc kulcsok kedvező áron!
- Vírusirtó, Antivirus VPN kulcsok
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24