- Panorámás, E-ATX-es toronyház a Thermaltake-től, akár "lopakodó" alaplapokhoz is
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Többféle belsővel jönnek a Kysona 50 gramm alatti, akciós egerei
- Világelső, 321 cellarétegű QLC-s 3D NAND-ot hozott az SK Hynix
- USB portok garmadája az ASRock AMD-s alaplapján
- Mini-ITX
- SSD kibeszélő
- Apple MacBook
- Milyen billentyűzetet vegyek?
- Amlogic S905, S912 processzoros készülékek
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- AMD vs. INTEL vs. NVIDIA
- Bambu Lab 3D nyomtatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Epson nyomtatók
-
PROHARDVER!
Új hozzászólás Aktív témák
-
Jester01
veterán
1. mi nem jó? Nekem szépen kilép az összes egymásbaágyazott shellbõl. Amúgy meg természetesen magadnak is ellenõrizheted a subshell visszatérési értékét ($?)
2. már írtam, hogy nem a ciklussal van a baj. Példa:
global=0
for((i=0;i<10;i++))
do
echo -n ''$i ''
global=$i
done
echo ''global=$global''
$ ./t.sh
0 1 2 3 4 5 6 7 8 9 global=9
CSAK akkor nem jó, ha valami oknál fogva másik shellben fut. -
Jester01
veterán
Vegyük észre, hogy itt a jó öreg subshell problémával állunk szemben.
A ctrl+c múködését pedig (bunkó módon) egy kill -INT $$ utasítással lehet szimulálni
MOD: ez sem jó, mert a $$ nem az aktuális shell pidje
Tyrael: A break-nek lehet megmondani, hány szintet ugorjon.
[Szerkesztve] -
Tyrael
senior tag
nemtom konkretan melyik programnyelvrol beszelunk(mar latom, hogy unix shell script), nem is vagyok programozo, de:
php-ban ugy mukodik, hogy fuggveny futasa kozben definialt valtozok nem lesznek globalisak.
szal ha definialod talal-t 0-ra, majd meghivsz egy sajat function-t, ott csinalsz valamit, es talal-t atallitod 0-ra, akkor miutan viszatersz a fuggvenyhivas helyere talal meg mindig 0 lesz, mert te a fuggvenyen beluli talal valtozot valtoztattad meg.
hogy jol mukodjon, a function-on belul szukseg van a
global $talal;
sorra, utana mar nyugodtan valtoztathatod a $global erteket, es globalisan is valtozni fog.
sorry, ha nagy hulyeseget irtam, de lehet hogy nalad is valami ilyesmi a baj, nezz utana az adott programnyelv leirasaban a valtozok hataskore hogy van megszabva.
Tyrael
[Szerkesztve] -
Tyrael
senior tag
exit-nek nem lehet megadni, hogy hany szintet lepjen vissza?
mintha olvastam volna valami ilyesmi lehetoseget
illetve be lehetne vezetni egy talal valtozot is.
te esetedben mikor kiirja alma-t, akkor beallitja a talal valtozot mondjuk 1-re, es mikor kiirna a mogyorot, akkor megvizsgalod, hogy talalnak mi az erteke, es ha 1, akkor nem lep bele.
vagy ilyesmi
Tyrael -
QuarK
senior tag
-
OddMan
őstag
Linux scriptek írásának megtanulásához egy jó magyar nyelvű könyv: Bővebben: link
-
emitter
őstag
ha tudsz angolul:
Bővebben: link
Bővebben: link
egyébként gugli 1-2 találata a ''unix script sed''-re -
corm
senior tag
n =`expr $1 - 19 \* $1 / 19` , de nem teljese értem, hogy ez miért van így. Szerintem elnéztél valamit, mert ez így nagyon 0-t fog visszaadni
Esetleg ha ez vmi maradékképzés akar lenni, akkor arra ottvan a %, a maradékos osztás
hazsnálata: pl. p=6 % 4 és ez 2-t fog visszadni
[Szerkesztve] -
corm
senior tag
./unix1: line 2: `n ='expr $1 - 19*($1/19),'
Van benne néhány
először is: az expr -nek úgy kell megadni hogy az operandusok és az opertáor közt kell hagyni szünetet
aztán szerintem a ()-t nem kezeli le, szóval ezzel is baja lehet(ebben nem vagyok biztos nem próbáltam), csinálhatod ehelyett azt, hogy a $1 / 19-et beteszed egy segéd változóba, vagy ami logikusabb, mivel a szorzás kommutatív: $1 / 19 \* $19 - bár ennek így megnézve semmi ételme, nyílván $1et kapsz vissza...
aztán hiba még, hogy a *-ot nem tudod így használni, le kell védened egy \-el s mindig amikor szorzást akarsz írni ezt irod: \*
aztán végül nemtom miaz a , a legvégén, szerintem az nem kell oda
ui. jól állhatsz, ha egy sorban ennyi hibád van- de azért csak kérdezz nyugodtan, ha tudok segítek
-
corm
senior tag
ez annyit tesz, hogy ha az elsőként megadott paraméter nem -p, akkor fog belemenni az elágazásba. Meglehjetősen gyanús ez a sor nekem.
egy Elte-n feladott unix beadandó feladathoz hasonlít... Ha így van, és tényleg oda kell, akkor spec itt azt jelentia -p, hogy pünkösdöt kell-e kiszámolni. Tehát akkor fog belemenni az elágazásba, ha húsvétot kell.
-
corm
senior tag
Huh, ha jól emléxek akkor úgy lehet leggyorsabban megállapítani, hogy valami prímszám-e , hogy elkezded egyesével nézni a számokat egy ciklusban, ahol a ciklusváltozó lehet maga a szám amivel osztod a keresett számot. egészen gyök n-ig kell ezt csinálni (n az amiről megakarod álalpítani). és ha valamelyikkel osztható, akkor ugye nem prím-> vége a ciklusnak. Ha peig a ciklus végig fut, és az utolsó elem sem osztója n-nek, akkor prímet adtál meg.
unixban lekódolni pedig nem nehéz, itt egy példa(azért unixban énis kezdő vok, nem szidni a kódért)
a=$1
i=2
l=0 -- egy logikai változó, ami azt mondja, meg hogy osztója-e vagy sem
gyoka=(gyök a - nem tudom a gyök parancsot... )
while [ i -le gyoka ]
do
if [ `expr a % i` -eq 0 ]
then
l=1
fi
i=`expr i+1`
done
if [ l -eq 1 ]
then
echo ''Prím!''
else
echo ''Nem prím!''
fi
Na kb ennyi, de gondolom az okosabbak találnak majd benne ezer hibát
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Lenovo Ideapad Gamig 3 RTX 3050 Ti Ryzen 5 165 Hz kijelző!
- Eladó ASUS TUF 15.6" / AMD RYZEN 5 7535HS / RTX2050 4GB / 32G / 512GB
- Eladó Ryzen 7 7700X, 7800 XT, 1Tb M.2, 750W, 32Gb DDR5, AM5 gamer pc!
- MINI PC HP PRODESK 600 G2 G3 G4 G5 i3 és i5 6-9. gen gar. Budapest MPL Foxpost
- AZTA! HP EliteBook 840 G8 Fémházas Laptop Ultrabook 14" -60% i7-1185G7 16/512 FHD IPS Iris Xe
- BESZÁMÍTÁS! ASUS 560M i5 10400F 16GB DDR4 512GB SSD RTX 2060 Super 8GB ZALMAN S2 TG ADATA 600W
- GYÖNYÖRŰ iPhone XR 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3200, 100% Akkumulátor
- Frederick Forsythe: Isten ökle (nem olvasott)
- Bezámítás! Lenovo Legion 5 17ACH6H Gamer notebook - R7 5800H 16GB DDR4 512GB SSD RTX 3060 6GB WIN11
- 24 hónapos PlayStation Plus Premium előfizetés a legolcsóbban, egyenesen a PlayStation-től!
Állásajánlatok
Cég: FOTC
Város: Budapest