Új hozzászólás Aktív témák
-
Sianis
addikt
cat $1 | while read line; do
echo $line
doneA fájl soronkénti feldolgozása kb ennyi.
Az meg, hogy fájl-e a $1 paraméter például:
if [ -t $1 ]; then
echo "Yes it is"
fiSianis
-
Votyesz13
tag
Sziasztok
Egy olyan kérdésem lenne hogy a feladatom egy olyan szkript írása ami egy fájlt vár bemenetként.Ezt hogy tudom elérni?És hogy soronként olvassa ezt?Getline-al vagy hogyan?
Előre is köszi.üdv bolvar
-
Heller2
aktív tag
Sziasztok !
lenne egy kérésem egy feladatot illetően...
Feladat a következő:
Scriptet kell létrehozni, amely user-eket hoz létre, úgy nézzen ki, hogy tetszőleges számú usert hozzon létre, törölni is tudja az usereket, fájlból vegye az új usereket ( ezt nem tudom mit jelenet ), fájlban valódi név is legyen, hibák kezelése, kiírása, vagy más paramétereket is kiírhat. ( pl. Kati - Kiss Katalin )Ezt valaki leírná ez elejétől, pontról-pontra ?
Szeretem én a linuxot, csak ne bonyolódjak bele...
Nem tudom számít-e, de Debiánt használunk.. -
dabadab
titán
"& kapcsolatnál ha minden igaz, akkor csak akkor megy tovább amikor az előtte levő sikeresen lefutott igaz?"
Egeszen pontosan csak akkor, ha az elozo parancs exit levelje 0 volt. Az osi unixos szokas, hogy ha rendben lefut, akkor ez nulla, ha meg nem, akkor nem nulla, viszont pl. a sajat scripteknel figyelned kell erre (a shell scriptek a legutolso futtatott parancs exit leveljet kapjak meg, es ha pl. ez egy echo "hiba tortent" (ami persze szepen le fog futni es 0-t ad vissza), akkor utana be kell raknod pl. egy exit 1 utasitast). Egyebkent teljesen jol hasznalhato konstrukcio, pl. az unzip x.zip && rm x.zip az egyik kedvencem
A levelezeshez meg vmi olyasmi kellene, hogy uuencode file.bin | mail -s subject akarki@akarhol.org
-
Badb0y
addikt
Akarok egy scripteket elindító scriptet írni. Hogy lehetséges az, hogy csak akkor induljon el a következő, ha az előző sikeresen lefutott?
A következő elgondolás jó?
./usr/.../script1 && ./usr/.../script2 && ./usr/.../script3
& kapcsolatnál ha minden igaz, akkor csak akkor megy tovább amikor az előtte levő sikeresen lefutott igaz?
Vagy más megoldás kellene ?
másik kérdésem, a keletkezett fájlt hogy tudom emailban elküldeni? mert valamiért nem akar eljönni, a mail -s "tárgy" uuencode fájlnév email címmel
-
ngabor2
nagyúr
lenne egy nem túl bonyolult problémám, valszeg egyetlen ciklussal (ügyesebbeknek egy sorral) is megoldható, csak én lusta vagyok
szóval van egy könyvtár, abban képfile-ok. IMG_xxxx.JPG a nevük, az xxxx egy sorszám. ezeket kellene átnevezni kep_yymmddxx.jpg-re, ahol az yy az év, a mm a hónap, dd a nap, xx meg egy sorszám 01-től. a dátum a létrehozás, vagy az utolsó módosítás dátuma, nem az aktuális.
-
Badb0y
addikt
Kérdésem lenne, hogyan tudom egy fájl tartalmát egy csv megadott oszlopába megadott helytől kezdődően exportálni.
Úgy szeretném, hogy minden sor külön cellába legyen.
-
HUNNIA1920
őstag
Így van, kicsit siettem, aztán azért írtam el. Setgid - et akartam írni.
-
FixY67
senior tag
válasz
Jester01 #578 üzenetére
Sejtem már... azon a nyomorult Ubin van valami apparmor vagy miatúró... Nem ismerem, nem tudom, pontosan mit csinál, de könnyen lehet, hogy az pofázott bele az életembe.
Egy biztos, linuxos (Tomato) routeren, rootként működik:
root@router:/tmp/home/root# mkdir x
root@router:/tmp/home/root# chmod 6777 x
root@router:/tmp/home/root# ls -l
drwsrwsrwx 2 root root 40 Mar 27 15:14 x
root@router:/tmp/home/root# chmod 0777 x
root@router:/tmp/home/root# ls -l
drwxrwxrwx 2 root root 40 Mar 27 15:14 x -
Jester01
veterán
MOD: hm, számít, hogy könyvár
Arról nekem se szedi le.
man chmod:
chmod preserves a directory's set-user-ID and set-group-ID bits unless you explicitly specify otherwise. You can set or clear the bits with symbolic modes like u+s and g-s, and you can set (but not clear) the bits with a numeric mode. -
FixY67
senior tag
Azt azért elárulhatná valaki, hogy oktális formában megadva a jogokat, a setuid, setgid biteket hogy lehet levakarni egy állományról? (nem tudom, van-e jelentősége, hogy valószínűleg könyvtár volt az áldozat)
Egy Ubuntu 9.10-en próbálkoztam és csak u-s g-s formában működött, numerikusan nem.
Lusta voltam utánanézni, hogy ez bug v. így kell működnie. -
Jester01
veterán
válasz
HUNNIA1920 #574 üzenetére
1) a megoldás során végig az eredeti directoryban állsz (ami a B szülője). Ezért például az E/C forma nem jó, hiszen az E a B-ben van. Tehát B/E/C formában kell rá hivatkozni. Hasonlóan a többire is.
2) az echo az nem üres fájlt hoz létre, beleír egy entert. Ha ez probléma, akkor echo -n vagy egyszerűen touch.
3) a chmod nem csak az oktális jogokat szereti, ismeri a szimbolikust is
4) az mkdir-nek egyből meg is lehet adni jogokat
Pl. mkdir -m u=rwx,g=rxs,o=rx B -
bambano
titán
válasz
HUNNIA1920 #574 üzenetére
"ogy pl.: 2xxx - es az setUID - os.": ezt hogy hoztad össze?
-
HUNNIA1920
őstag
Na így már rendben van.
Erre voltam kíváncsi, hogy melyik hányas számmal kezdődik. Attól féltem, hogy ez is mindenhol más, de így akkor már tudni fogom, hogy pl.: 2xxx - es az setUID - os. Remélem így már menni fog a Zh is.
Köszi szépen a türelmet és a segítségetSzerk.: tehát akkor így lesz:
mkdir B; chmod 2755 B
mkdir B/E; chmod 1751 B/E
echo > E/C; chmod 640 E/C
ln E/C E/B/D
ln -s D B/Achmod 1751: rwxr-x--t ---> 111 101 001
-
FixY67
senior tag
válasz
HUNNIA1920 #572 üzenetére
Úgy emlékszem,
4000 - setUID
2000 - setGID
1000 - sticky bit.
Ez utóbbinak eredetileg a programok/library-k esetében volt jelentősége, innen a neve (valami olyasmi rémlik, hogy nem lehetett őket kilapozni a memóriából), mostanság meg valami törléssel kapcsolatos dologra használják, de inkább nem írom le, mert kissé hiányosan emlékszem rá.A man chmod meg annyi, hogy bemész unix/linux shellbe (windows-on telepítesz egy cygwin-t és annak a shelljébe) és kiadod a man chmod parancsot.
-
HUNNIA1920
őstag
Ezt a "man chmod" - ot nem igazán értettem, de mindegy.
Kicsit utána olvastam ezeknek a kiegészítő biteknek és azt találtam, hogy 3 féle létezik: a setuid, a setgid és a sticky bit. A setuid - nál a usernél változik a végrehajtás (x) s - re, a setgid - nél a csoport végrehajtás lesz s, és a sticky - nél meg az other végrehajtás lesz t.De most pl. Parancs: chmod 4755, Eredményezett jog: rwsr-xr-x - nél a 4 - es szám mit jelent? Mert a 755 az ugye 111 101 101 a bináris maszkok módszere szerint és ugye a user - nél lesz az x betű s. De azt a 4 - es számot nem értem. Annyit tudok, hogy alapértelmezésként 0 áll az első helyen, csak azt nem tüntetjük fel.
-
FixY67
senior tag
válasz
HUNNIA1920 #570 üzenetére
Nagyjából jónak tűnik.
A ? kapcsán meg man chmod -
FixY67
senior tag
válasz
HUNNIA1920 #568 üzenetére
-
HUNNIA1920
őstag
Tehát akkor a 2. példa megoldásának ez jó:
mkdir B; chmod 2755 B
mkdir B/E; chmod ? B/E
echo > E/C; chmod 640 E/C
ln E/C E/B/D
ln -s D B/AA 2. sornál nem tudom mi lesz a parancs (chmod után), mert a jogosultságban kiegészítő bit is van és azt nem igazán értem, hogy hogy is van.
A többi különben jó? -
FixY67
senior tag
válasz
HUNNIA1920 #566 üzenetére
Azért, mert a feladat (számomra kissé értelmetlenül megfogalmazva) az volt, hogy a C és a D nevű file fizikailag azonos legyen, csak eltérő néven kerüljenek a könyvtárakba. Ehhez előbb létre kellett hozni egy file-t, ez volt a C. Amikor az "echo >C"-vel létrehozod a file-t, akkor keletkezik hozzá egy könyvtár bejegyzés és kap egy ú.n. inode-t. A második parancs annyit csinált, hogy készített egy újabb könyvtárbejegyzést másik könyvtárba, más néven, ami fizikailag ugyanarra a file-ra/inode-ra mutat.
Tehát végeredményben keletkezett egyetlen file-od ami több néven elérhető.
Ha a D-t is "echo >"-val hozod létre, akkor a két file-nak semmi köze nem lesz egymáshoz.Az
echo > A/C
ln A/C A/B/Dután ha beleírsz valamit az A/C-be és megnézed az A/B/D tartalmát, akkor abban is látni fogod a változást.
-
FixY67
senior tag
válasz
HUNNIA1920 #564 üzenetére
Amit először beírtál, az egyértelmű, de szerintem korábban írtam is: a feladat 1. sorának a megoldások 1. sora a megoldása. A 2.-é a 2. stb.
Szóval így továbbra sem tudok mit mondani... -
HUNNIA1920
őstag
Nem igazán tudom máshogy magyarázni.
Adott egy feladat és adott egy megoldás. A megoldásba mi micsoda?
Vagy akkor mondom úgy, hogy a 2. feladat amit bemásoltam, annak mi a megoldása? Na így már talán könnyebb lesz.Szerk.: ja és ugye ez a feladat: "Írjon shell scriptet, amely az alábbi fájl bejegyzéseket a megfelelő jogosultságokkal együtt létrehozza az aktuális könyvtáron belül:".
-
FixY67
senior tag
válasz
HUNNIA1920 #562 üzenetére
Az a baj, hogy én továbbra sem értem, mit nem értesz... a feladatot nem tudod értelmezni?
-
HUNNIA1920
őstag
válasz
HUNNIA1920 #557 üzenetére
No akkor senki se tud segíteni?
Sürgős lenne, aztán akkor megpróbálok más fórumokba segítséget kérni, ha itt nem kapok választ. Jövő héten Zh és addigra kéne valami. -
Jester01
veterán
Ha már ennyire rámentél a külső parancsok eliminálására (nagyon helyesen) akkor azért azt se felejtsd el, hogy a bash kiválóan szét tudja szabdalni a stringet, nem kell hozzá a sed. Az adott példában ha jól látom egyszerűen ident=${i//_*html/} avagy a string végét feltételezve ident=${i%%_*html}.
-
Jester01
veterán
Csak hibás kötekedés, mivel a hard linkek nem egymásra mutatnak, hanem az inode-ra. Persze "pucér" inode-t nem tudsz létrehozni, rögtön kapsz hozzá 1 hard linket induláskor. De a végén C és D tökéletesen egyenértékű, nem tudod megmondani melyik az "igazi". Nem úgy, mint symlink esetén.
-
HUNNIA1920
őstag
Hát mondjuk az kéne, hogy a megoldásban melyik sor mit csinál?
Mert a Zh - ba a feladat mindig más.
Pl.: lehet ez is egy példa:Név: Típus: Jogosultság: Helye:
A D-re mutató szimbolikus link rwxrwxrwx B
B könyvtár rwxr-sr-x .
C állomány (C,D hard link) rw-r----- E
D állomány (C,D hard link) rw-r----- B
E könyvtár rwxr-x--t BNa és itt már gondba vagyok, hogy akkor hogy is van ez?
-
FixY67
senior tag
válasz
Jester01 #555 üzenetére
Tesemértedhogymitnemértek.
Persze, hogy értem, csak hülyén van megfogalmazva, erre próbáltam "finoman" célozni: ha szó szerint veszem a feladatot, akkor C-t és D-t is hardlinkként kell létrehozni úgy, hogy egymásra mutassanak. Az meg kb. tyúk-tojás problémakör. (ez meg tképp szimpla kötekedés részemről.
)
-
FixY67
senior tag
válasz
HUNNIA1920 #553 üzenetére
Ha valaki elmondja, mi akar lenni a "(C,D hard link)" szöveg, pláne így, duplázva, akkor a többit el tudom magyarázni.
---
De nem teljesen értem, hogy te mit nem értesz. Felül a feladat, alatta a megoldás, egy többé-kevésbé korrekt shell script formájában. Az egyes parancsok magyarázata kellene? -
HUNNIA1920
őstag
Sziasztok!
Tudna nekem segíteni valaki shell script ügyben?
Iskolába kéne a Zh - hoz, de nem igazán tudom, hogy melyik az eleje meg a hátulja.
Ez lenne a feladat:Írjon shell scriptet, amely az alábbi fájl bejegyzéseket a megfelelő jogosultságokkal
együtt létrehozza az aktuális könyvtáron belül:Név: Típus: Jogosultság: Helye:
A könyvtár rwxr-xr-x .
B könyvtár rwxr-sr-x A
C állomány (C,D hard link) rw-r----- A
D állomány (C,D hard link) rw-r----- B
E B-re mutató szimbolikus link rwxrwxrwx AMegoldás:
mkdir A; chmod 755 A
mkdir A/B; chmod 2755 A/B
echo > A/C; chmod 640 A/C
ln A/C A/B/D
ln -s B A/EEzt valaki el tudná magyarázni, hogy mi hogy van és miért?
Köszönöm előre is!Szerk.: sajnos össze csúszott, de szerintem aki tud segíteni, az érti így is.
-
-
7
addikt
Update: köszönöm a kiindulási alapot, megvagyok az átnevezgetéssel. Magamra specializált paraméterek vannak benne
#!/bin/bash
for i in *html
do
ident=$(ls "$i" | sed -r 's/_.*html//g')
date=$(cat "$i" | grep -E -m1 '(Mon|Tue|Wed|Thu|Fri|Sat|Sun), .* 20[01][567890] at .* (AM|PM)' | cut -d ' ' -f 2-4 | sed -r 's/,//g' | sed -r 's/(at)//g' | sed -r 's/:/./g' | sed -r 's/ /-/g' )
partner=$(cat "$i" | grep -m2 "<" | sed -r 's/.*dorp.*//g' | grep "$lt;.*>" | sed -r 's/<|>//g' | sed -r 's/[@|%]/_/' | sed -r 's/[@|%]/_/g' | sed -r 's/_msn.*//g')
#echo "$partner"_-_"$ident"_-_"$date"
mkdir "$partner"
mv "$i" "$partner"/"$partner"_-_"$ident"_-_"$date".html
done -
-
FixY67
senior tag
válasz
Neil Watts #540 üzenetére
Mivel régebben bourne shellt, meg ksh-t kezdtem tanulni, majd picit belenéztem a C shellbe és megállapítottam, hogy ezzel jáccon akinek két anyja van, igencsak meglepődtem a bash-t látva.
Viszont kényelmes. Egy bizonyos szintig még szeretni is lehet. De ahhoz meg kellene ismerni alaposabban. Akkor meg már inkább az awk v. zűrösebb esetekben a perl... -
-
FixY67
senior tag
válasz
Neil Watts #538 üzenetére
Ez bash...
-
-
FixY67
senior tag
for i in '*filespec*'
do
partner=$(grep -m1 'Chat with' | sed -e '/^.*Chat with //' | cut -d ' ' -f 1)
mv "$i" "$partner_$i"
doneÍgy hajnalok hajnalán, próba nélkül leírva...
(és feltételezve, hogy a chat-ben résztvevők nickjei kizárólag olyan karaktereket tartalmaznak, amik elfogadhatóak egy file nevében és nincs bennük idézőjel) -
7
addikt
Sziasztok!
Az utóbbi napokban estem át egy mailmigráláson, aminek során az eddigi masszívan gtalkra használt mailcímemet töröltem, de előtte lementettem HTML formátumba a beszélgetéseimet. Mivel ezt scripttel csináltam, ezért a filenevek nemigen értelmesek.
Amire szükségem lenne, az egy olyan script, amivel a html-ben található szöveg alapján átnevezhetném a beszélgetéseket.
Értsd: A HTML file-ok tartalmazzák a következő sort: "Chat with XY". Szeretném ezt az XY-t kiemelni és hozzácsapni a filenév elejéhez.
Tehát ha eddig az volt a file neve, hogy 1234_54321.html, akkor a script lefuttatása után legyen az, hogy XY_1234_54321.html.Kérdésem, hogy tudnátok-e segíteni legalább abban, hogy hogyan induljak el.
Például fogalmam sincs róla, hogy egyáltalán hogyan tudok tömeges átnevezést végrehajtani, valamint hogy tömeges átnevezésnél hogyan adhatok meg olyan változót, amivel kiegészíthetem a fileneveket. -
-
pilsner
aktív tag
Hello!
Tudna nekem segíteni valaki abban, hogyan tudom letárolni egy változóba az összes paramétert ("$*") mínusz az utolsó paramétert ("$#") ? Azaz hogyan távolítom el az előzőleg már letárolt utolsó paramétert az összes paraméterek listájából? Nagyon köszönöm! -
8nemesis8
veterán
Windows alól írtam a shell scriptet puttyon keresztül belépve linux alá, hogyan tudom eltávolítani a rossz újsor kezdő karaktereket, sajnos a dos2unix parancs nem működik.
-
Stefa0009
csendes tag
Sziasztok!
Szeretnék írni egy linuxos shell szkriptet amely kiírja két dátum között eltelt
időt a felhasználó által választott mértékben. Az első paramétere egy kapcsoló
(‐ev, ‐honap, ‐nap, ( , p, p, ‐ora, ‐perc, ‐masodperc), második és harmadik paramétere (YYYY‐MM‐DD alakban) dátumok. Hibás dátum esetén hibát írjon ki. Én erre jutottam:
#!/bin/bashdate2stamp () {
date --utc --date "$1" +%s
}dateDiff (){
case $1 in
-s) sec=1; shift;;
-m) sec=60; shift;;
-h) sec=3600; shift;;
-d) sec=86400; shift;;
*) sec=86400;;
esacdte1=$(date2stamp $1)
dte2=$(date2stamp $2)
diffSec=$((dte2-dte1))if ((diffSec < 0));
then abs=-1; else abs=1;
fi
echo $((diffSec/sec*abs))
}Valamiért nem akar működni. Valaki segítsen! Előre is köszi
-
DonVinetoo
csendes tag
-
FixY67
senior tag
válasz
DonVinetoo #520 üzenetére
Milyen segítség kellene? Mert a kérdésed kb. arra utal, hogy írja meg valaki helyetted...
Ajánlom figyelmedbe pl. a 'for' parancsot, a "find" parancs -mtime, ill. -ctime (?) kapcsolójának tanulmányozását, valamint az 'ls' kapcsolóit.
-
DonVinetoo
csendes tag
Sziasztok!
Kéne nekem egy kis segítség egy script megírásához aminek ezt kell csinálnia:
Jelenítse meg a LISTA‐ban felsorolt könyvtárakban a
legfeljebb IDO perce módosított állományok
módosítási idejét és a nevét.Köszi a segítséget!
-
8nemesis8
veterán
Igen, ahhoz viszonyítva oldottam már meg nagyrészt. Már csak egy rendezést kell százalék alapján.
Van egy olyan fájlom, hogy idle_time login_time név
Ebből kellene egy százalékos érték alapján sorba rendeznem!
awkra gondoltam idle/login*100 és név hozzárendelve, azonban egy sorban ezt nem tudom megtenni. Hogyan lehetne? -
Stefa0009
csendes tag
Sziasztok!
Szeretnék írni egy linuxos shell szkriptet amely kiírja két dátum között eltelt
időt a felhasználó által választott mértékben. Az első paramétere egy kapcsoló
(‐ev, ‐honap, ‐nap, ( , p, p, ‐ora, ‐perc, ‐masodperc), második és harmadik paramétere (YYYY‐MM‐DD alakban) dátumok. Hibás dátum esetén hibát írjon ki. Szökőévek nem számítanak. Úgy gondoltam hogy az első paramétert valahogy így oldanám meg:
case $1 in
ev) ;;
honap) ;;
nap) ;;
ora) ;;
perc) ;;
masodperc) ;;
esac
Tudna valaki ebben segíteni?
Előre is köszi -
8nemesis8
veterán
Sziasztok!
Hogyan tudnám megvalósítani, hogy a bejelentkezett felhasználók közül listázzam ki azokat akik a bejelentkezés óta eltelt idő 50%-ában idle állapotban vannak, százalék szerint csökkenő sorrendben!?
Úgy próbálkoztam, hogy a who parancsra adott válaszból awk printtel kiszedem az oszlopokat szétbontom kettőspontnál és így vissza tudok számolni másodperceket. Idle ugye lekérhető w vagy fingernél. Viszont szerintem finger használata hasznosabb lehet, ott nevekkel azonosítóval tudom a végén listázni esetleg.
Előre is köszi a segítséget. -
Votyesz13
tag
#! /bin/bash
kilep=0;
while([ $kilep -eq 0 ]);
do
echo -n "Kerem a nevet: "
read VAL1;
echo -n "Kerem a hozzatartozo telefonszamot: "
read VAL2;
if [ -z `echo $VAL1` ];
then kilep=1;
fi
if [ -z `echo $VAL2` ];
then kilep=1;
fi
if [ $kilep=0 ];
then
VALSEGED=`grep $VAL1 phone.txt`;
if [ -z `echo $VALSEGED` ];
then
echo "$VAL1:$VAL2" >> phone.txt;
elseecho "Csere(1) vagy nem csere(0)? ";
read VALASZ;
if [ $VALASZ -eq 1 ];
then
grep -v "$VAL1" phone.txt > phone2.txt;
cat phone2.txt > phone.txt
echo "$VAL1:$VAL2" >> phone.txt;
fi
fi
fi
done
rm phone2.txtexit 0;
Na ez egy verzió
hát az lenne a program dolga hogy folyamatosan bekéri a név telefonszám párosokat mintha egy telefonkönyv lenne.Beírja őket egy txt-be folyamatosan.Ha egyezést talál akkor megkérdezi hogy kicserélje-e őket vagy eldobja e az új sort.A program akkor áll le ha üres paramétert kap vagy a névnek vagy a telefonszámnak.Ennyi röviden -
Votyesz13
tag
Nem név és szám lenne a neve hanem az a név pl(Kiss Pista) és a telefonszáma(0671281082) amit bekérek folyamatosan.És ezért kell bele a az if hogy vizsgálja meg hogy ha van már olyan nevű a txt-be amibe beleírunk folyamatosan akkor kérdezzen vissza hogy mi legyen azzal a név szám párossal.Felülírjuk vagy cseréljük arra ami már a txt-be van.Elvileg erről lenne szó
Csak gyakorlatba nem akar működni
-
bambano
titán
miért van nekem olyan érzésem, hogy itten mostan iskolai házifeladatokat oldunk meg?
-
bambano
titán
válasz
Votyesz13 #504 üzenetére
de ha a ciklus feltételébe tartozó változók értéke nem változik a ciklusmagon belül, akkor ez tuttira végtelen ciklus lesz.
nem kell aggódni, a linux azt is végrehajtja 5 másodperc alattmegjegyzés: csak nekem evidens, hogyha nevet akarok tárolni egy változóban, akkor annak az lesz a neve, hogy nev, meg telefonszam?
-
Stefa0009
csendes tag
Sziasztok!
Szeretnék írni egy linuxos shell szkriptet amely kiírja két dátum között eltelt
időt a felhasználó által választott mértékben. Az első paramétere egy kapcsoló
(‐ev, ‐honap, ‐nap, ( , p, p, ‐ora, ‐perc, ‐masodperc), második és harmadik paramétere (YYYY‐MM‐DD alakban) dátumok. Hibás dátum esetén hibát írjon ki. Tudna valaki ebben segíteni?
Előre is köszi -
Votyesz13
tag
A whileal azt szeretném elérni hogy végtelen ciklusba addig olvassa be a név szám párokat amíg vagy a szám vagy a név egy üres sort nem kap.De akkor először be kell kérnem a páraokat a while előtt vagy majd csak a whileon belül és akkor utána adom meg a while feltételének?Mert nem akar folyamatosan bekérni adatot hanem csak egy nevet és számot kér be és leáll...:S
-
FixY67
senior tag
válasz
Votyesz13 #500 üzenetére
A while-nak több baja is van.
Nem kerek zárójelek kellenek, hanem egy test parancs:
while test "$a" != "$b" ; do echo a; echo b; echo c; doneIlletve a szokásos forma:
while [ "$a" != "$b" ]; do echo a; echo b; echo c; doneA másik, hogy az ilyen jellegű hasonlításoknál a változót nem árt idézőjelek (") közé tenni (hangsúlyozottan nem aposztróf (') !!! ), hogy ha üres a változód, akkor se legyen gond vele.
-
bambano
titán
válasz
Votyesz13 #500 üzenetére
sed 's/"$VALTOZO"/"$VALSEGED/' phone.txt
ha a sed programja aposztróffal kezdődik, akkor mindegy, hogy van-e belül idézőjel.
ha cseréltetni akarod, akkor idézőjelek közé tedd.
sed -e "s/$VALTOZO/$VALSEGED/" phone.txtés már csak azt intézd el, hogy egyikben se legyen / jel.
Új hozzászólás Aktív témák
- Apple Watch Sport - ez is csak egy okosóra
- Autós topik
- Gurulunk, WAZE?!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Építő/felújító topik
- Trollok komolyan
- Kecskemét és környéke adok-veszek-beszélgetek
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- BestBuy topik
- Tőzsde és gazdaság
- További aktív témák...
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Lenovo ThinkPad 40AF docking station (DisplayLink)
- ÁRGARANCIA! Épített KomPhone Intel i9 14900KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Azonnali készpénzes nVidia RTX 2000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- AKCIÓ! Gigabyte AORUS 16X (2024) Gamer notebook - i7 14650HX 16GB RAM 1TB SSD RTX 4070 8GBWin11
- Gamer laptop felvásárlás Magas áron, gyorsan és egyszerűen!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest