- Fotók, videók mobillal
- Samsung Galaxy S23 Ultra - non plus ultra
- One mobilszolgáltatások
- Redmi Note 13 4G
- Milyen okostelefont vegyek?
- Felújított okostelefonokat kínál a Rejoy
- Csíkszélességben verné az Exynos 2600 a Snapdragon 8 Elite 2-t
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Vivo X200 Pro - a kétszázát!
Új hozzászólás Aktív témák
-
dabadab
titán
válasz
CPT.Pirk #871 üzenetére
A /proc/bus/usb/ konyvtarban ott vannak az USB eszkozoket reprezentalo file-okat, azokat tudod bizergalni (megfelelo jogosultsaggal). Tisztan bashbol mondjuk a logaritmus nem fog menni, mar csak azert sem, mert a bash csak egesz szamokkal tud szamolni, szoval ahhoz kenytelen leszel kulso programot hivni (pl. ott a dc, a remek forditott lengyel jelolesevel).
-
dabadab
titán
Ugy, hogy inkabb megis elsejen futtatnam
Egyebkent meg szerintem kozvetlenul sehogy sem lehet maganak a cronnak elmagyarazni, hogy az utolso napot szeretned, ezert kenytelen vagy trukkozni:
0 0 28-31 * * [ "$(/bin/date +%d -d tomorrow)" = "01" ] && /your/script.sh
(as seen on Google)
-
dabadab
titán
Ha mar egyszer ugyis itt vagyok
for i in `find .` ; do blablabla ; done
Ez egeszen addig mukodik, amig a find altal visszaadott utvonalakban nincs szokoz (vagy tab vagy newline, pontosabban az $IFS valamelyik tagja). Ha van, akkor meghal a dolog. Igazan korrekt megoldast nem tudok mondani, van egyreszt ugye a find . -exec blabla {} \;, de ez csak akkor mukodik, ha a blabla vmi vegrehajthato file, shell functionoket viszont igy nem lehet meghivni (legalabbis kozvetlenul nem es nem tudok mondani semmi normalis trukkot ennek a megkerulesere).
Aztan el lehet sutni azt is, hogy find . | ( while read LINE ; do blabla "$LINE" ; done ), ez nagyreszt mukodik, kiveve, ha konkretan newline van a filenevben (ami mondjuk tenyleg nem gyakori jelenseg, de elofordulat - foleg, ha valaki direkt ki akarja hasznalni a scriptnek ezt a gyengeseget). -
dabadab
titán
"a 'pwd' kimenetehez hozza kell fuzni a filenevet es kesz
"
Egyreszt a filenev tulajdonkeppen lehet abszolut eleresi ut is, akkor dol a mutatvany (persze, egy egyszeru iffel kezelheto a helyzet, de az mar macera
), masreszt meg a realpath a kanonikus eleresi utat adja vissza, ami symlinkeknel lehet hasznos, pl:
db@cucumalac:~$ ls /home/db/x/../lib
mldonkey/ mythtv/
db@cucumalac:~$ ls /home/db/lib
ls: cannot access /home/db/lib: No such file or directory -
dabadab
titán
Felhívnám a kedves újoncok figyelmét, hogy ez továbbra sem az "Írd meg helyettem a házifeladatomat" topik
Ha valahol elakadtok, nyugodtan kérjetek segítséget, de arra várni, hogy valaki megírja helyettetek, nem nagyon érdemes.
-
dabadab
titán
Azert nem talalod, mert az nem tudja: a mogrify ugy mukodik, hogy az eredeti file-t irja felul.
Ket dolgot tehetsz: mogrify helyett a convertet hasznalod, aminek meg lehet adni a kimeneti file nevet (es akkor az eredetin tul lesz egy uj file-od is) vagy pedig egy mv paranccsal magad nevezed at a file-okat. -
-
dabadab
titán
sed 's/^.*\.\([^\.]*\)$/\1/'
Ez fogja a komplett sort (a ^ a sor eleje, a $ meg a sor vége), megkeresi benne a legutolsó olyan részt, ami egy pont után jön és nincs benne pont, és a cserével a komplett sort lecseréli erre a kis részre (a pontokat escape-elni kell, mivel az alapban joker karakter (ahogy az a legelső előfordulásakor látható is) meg a sima zárójeleket is, mert azokat alapból sima karakternek veszi a sed, a szögleteseket viszont nem, mert azok alapból kontrollkarakterek).
-
dabadab
titán
"nekem sima && elválasztóval nem ment a dolog."
Azert nem, mert a masodik parancsot csak akkor hajtja vegre, ha az elso futasa befejezodott (es nullat adott vissza), szoval ez igy tenyleg nem fog menni, mert az ssh addig fut, amig el a tunnel. Igazan gyors megoldast nem tudok ra javasolni, a maceras az lenne, hogy eloszor inditsd el a tunnelt a hatterben, vard meg, amig lesz valami (kiepul a tunnel vagy hiba miatt kilep az ssh) es utana inditsd el a vnc-t.
Egyebkent tunnelezeshez javaslom az autossh-t, ugyanis az ssh kapcsolatok meg szoktak halni. Fogalmam sincs, hogy miert, de elobb-utobb lehalnak.szerk: hoppa, a -f kimaradt nalam, akkor vissza az egesz
-
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
-
dabadab
titán
válasz
Votyesz13 #492 üzenetére
Kb valami ilyesmi kellene neked (az, hogy a while feltetele a read, arra jó, hogy end-of-file (ctrl+D vagy tényleges eof, ha pl egy pipe-ból jön az input) esetén is megszakadjon a ciklus):
function read_line()
{
while read LINE ; do
if [ -z "$LINE" ] ; then
return
fi
echo "--- $LINE ---"
done
} -
dabadab
titán
"ha a script sima sh-val fut, akkor futnia kell azzal is, amire a /bin/sh mutat, barmi is legyen az"
Viszont ez nem kommutativ relacio, vagyis ha nalad a /bin/sh fedonev alatt futo bashon fut, az nem jelenti azt, hogy barmilyen sh--kompatibilis shellen is futni fog. (Mondjuk ugy remlik, hogy konkretan a bash ujabb verzio figyelnek erre, es ha /bin/sh neven hivja meg az ember, akkor az extra bashes funkciokat kikapcsolja - de erre azert nem epitenek.)
-
dabadab
titán
Nem teljesen. A bash az eredeti sh tovabbfejlesztett valtozata, sokkal tobb feature-rel. Eleg sok modern rendszeren a /bin/sh igazabol link a bashra, viszont erre vonatkozolag semmi garancia nincs, igy ha parancsvegrehajtonak az sh-t jeloli meg az ember, akkor nem illik bash feature-oket hasznalni.
A sed meg, roviden elmagyarazva, egy stream editorVagyis arra jo, hogy ha van egy streamed, akkor azon, a sajat scriptnyelven megadott szerkeszteseket vegre tud hajtani - a gyakorlatban az esetek nagy reszeben search'n'replace feladatokra hasznaljak, de ennel sokkal tobbet tud.
-
dabadab
titán
#!/bin/sh
tac ''$@''
BocsMondjuk nem irtad, hogy pontosan mivel is kellene (lehet, hogy siman builtinekkel is ossze lehetne hozni), de itt van pl egy sed-es megfejtes:
#!/bin/sh
for FILE in ''$@'' ; do
if [ -f ''$FILE'' ] ; then
sed '1!G;h;$!d' ''$FILE''
else
echo ''$FILE nem sima file (hanem valami mas vagy nem is letezik)'' >/dev/stderr
fi
done
[Szerkesztve] -
-
dabadab
titán
Konkretan hol akadtal el?
Egyreszt megfelelo jogosultsaggal kell rendelkezned azzal, hogy tudd irni ezt a file-t (alapbol csak a root szokta ezt tudni), utana meg fogod barmelyik kedvenc (unixos) szovegszerkesztodet, es azzal beleirod. Ha csak vi van, es nem boldogulsz vele, akkor szolj -
dabadab
titán
Akkor koltozzunk at ide a linuxos topikbol...
Új hozzászólás Aktív témák
Hirdetés
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- BESZÁMÍTÁS! MSI Z790 i5 14600KF 64GB DDR5 512GB SSD RTX 3070 8GB Rampage SHIVA Enermax 750W
- Bomba ár! Lenovo X1 Yoga 3rd - i5-8GEN I 8GB I 256GB SSD I 14" FHD Touch I W11 I CAM I Garancia!
- AKCIÓ! MSI B550 R7 5700X 32GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA MSI 650W
- Honor Magic7 Lite 8/512GB, Kártyafüggetlen
- 12.000 ft tól elvihető ELITRO Bankmentes , kamatmentes vásárlás .Cooler Master GM2711S Monitor
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest