Új hozzászólás Aktív témák
-
Speeedfire
félisten
válasz
Speeedfire #1810 üzenetére
Ugyan ezzel lenne megint egy kis problémám.
Ha az első file üres, akkor a kimenetben nincs benne a teljes lista. Ezt, hogy lehetne orvosolni? Rakjak egy feltételt elé, ami megnézi a sorok számát? -
Jester01
veterán
válasz
Speeedfire #1810 üzenetére
Gondolom az awk nem kompatibilis. Nézd meg, van-e gawk mert debianon általában az van.
-
bambano
titán
válasz
Speeedfire #1784 üzenetére
még mindig azt tartom legegyszerűbbnek, hogy legyártod az apt konfigját két példányban, és írsz egy scriptet, ami cseréli. A scriptet az ip-up.d könyvtárba kell tenni, akkor minden esetben végrehajtódik, amikor felhúzza az interfészt.
ha megmondod, mi a különbség a céges net és az otthoni között, akkor meg lehet faragni a scriptet, ami meg tudja különböztetni a kettőt.
-
bambano
titán
válasz
Speeedfire #1664 üzenetére
nem te írod bele a szkriptbe, hanem benne lehet a programban.
például azok a programok, amik jelszót akarnak bekérni, elég gyakran nem a szabvány bemenetet és kimenetet használják, hanem közvetlenül a terminált, hogy ne lehessen átirányítani a jelszó beírást. az ilyeneknél előfordul, hogyha leteszed háttérbe, megáll.egyébként így is lehet, grafománia esetén, de tömörebb:
sqlldr @sql && ha sikerült
vagy
sqlldr @sql || ha nemsikerült.
ja, arra figyelj, hogy a cron-nál nem ugyanaz szokott a keresési út lenni, mint a bejelentkezéskor, ezért van, hogy program natívan bejelentkezve fut, crontabból meg nem. crontab esetén be kell állítani minden környezeti változót újra.
-
bambano
titán
válasz
Speeedfire #1662 üzenetére
A trapek az aktuális shell szkriptnek küldött megszakítások elkapására jók.
ha az sqlldr meghal, akkor annak az exit státuszát kell lekezelni, arra a trapek szerintem nem jók.
valamelyik bash változóban benne van az utoljára futtatott parancs exit státusza (közben elolvastam, $?), ami nulla, ha jól futott le, valami más szám, ha nem, és 128+n, ha az n. megszakítás hatására lépett ki.A háttérben futtatás hibánál meg azt kellene megnézni, hogy a programok nem akarják-e használni a /dev/tty-t, mert lehet, azért akad le háttérben. linuxon strace van, solarison emlékeim szerint truss.
-
dabadab
titán
válasz
Speeedfire #1660 üzenetére
Igazan eleve nincsenek igazan exceptionok, igy aztan nagyon nincs is mit lekezelni
Ami van, azok a signalok, azokat meg (bash-ben, a tovabbiak konkretan arrol szolnak) a trap utasitassal lehet lekezelni, illetve a trap a signalokon kivul meg ismer par egyeb alkalmat is (EXIT - a script vegen, RETURN - return utasitaskor, DEBUG - kb. minden parancs elott, ERR - ha egy parancs nemnulla visszateresi erteket ad)
Valos eletbol vett pelda arra, hogy barhol lepjen ki a program, mindig umountolja a felmountolt fs-t (a 0 az EXIT "szignal"):
mount $INMNT
trap "umount $INMNT" 0 -
Jester01
veterán
válasz
Speeedfire #1657 üzenetére
Mert dupla [ jellel kezdted, amik között ráadásul szóköz is volt. Ebben a formában az első az a test programot hívja meg, a második pedig már annak argumentum ezért fog besokallni. bash-ban van [[ konstrukció is, de ekkor nem szabad szóközt tenni mert ilyenkor ez a dupla zárójel egy egység, és ilyenformán kell lezárni is. Vagyis 2 lehetőséged van:
1.) test használata:
if [ $IF_FILE_PROCESSED -eq "0" ] && [ $IF_FILE_ERROR -eq "0" ];
2.) [[ használata:
if [[ $IF_FILE_PROCESSED -eq "0" && $IF_FILE_ERROR -eq "0" ]];A 0-át egyébként teljesen fölösleges idézőjelbe tenni, a változókat viszont célszerű ha nem tudod biztosan mi lehet bennük.
-
Jester01
veterán
válasz
Speeedfire #1583 üzenetére
Valahogy így:
for i in $( (cat katalogusod.txt; ls -1) | sort | uniq -u ) ... -
persnongrat
tag
válasz
Speeedfire #1578 üzenetére
Ott valami nagyon el van kefélve, ha egy könyvtárba ennyi fájlt kell összezsúfolni.
Nem lehet őket valahogy csoportosítani? Ugyanis ez nem csak neked jelent gondot, hanem - amennyire én tudom - úgy általában a fájlrendszert is megterheli alaposan és minden, abban a könyvtárban matató programnak ronthatja a performanciáját. -
persnongrat
tag
válasz
Speeedfire #1575 üzenetére
Mire beírtam, te is megtaláltad.
-
persnongrat
tag
válasz
Speeedfire #1573 üzenetére
Próbálom, de rég volt és nem találom a diff-nek azt a kapcsolóját, amivel csak az eltérő sorokat és csak a sorokat írja ki.
kb.
ls -1 | sort >/tmp/file1.txt
cat katalogusod.txt | sort >/tmp/file2.txt
for filename in $(diff --szukseges-kapcsolok /tmp/file1.txt /tmp/file2.txt)
do
...
done
rm /tmp/file1.txt /tmp/file2.txtValami ilyesmire gondoltam.
De semmi biztosíték rá, hogy valóban gyorsít. -
persnongrat
tag
válasz
Speeedfire #1571 üzenetére
Ha valóban rengeteg fájl, akkor esetleg egy sort a már feldolgozottak listáján, másik sort a könyvtár tartalmára, kettőt diff-fel összehasonlítani és csak a különbözetet feldolgozni.
De meggondolnám, érdemes-e.B verzió, amit én csináltam régen: nem gyűjtögettem sehol a neveket, egyszerűen elmozgattam más könyvtár(ak)ba a már feldolgozott fájlokat, így nem volt gond, hogy melyik új és melyik nem.
-
bambano
titán
válasz
Speeedfire #1543 üzenetére
az rendben van, de a scriptek első sorába tett speciális formátumú megjegyzésben meg lehet mondani, hogy milyen shell futtassa.
ez linuxon nem annyira fájó kérdés, mert erősen dívik a bashizmus, és a leváltására faragott dash eléggé hasonló. szóval ha ott lemarad, hát lemarad.
viszont solarison, ahol az alap shell az eredeti bourne shell, és nagyon gyakran használnak csh-t is, aminek a szintaktikája totálisan más, ott shell megjelölés nélküli szkriptet írni igen bátor cselekedet. nekem pl.solarison mindig ksh volt a default shellem, az is másképp csinált pár dolgot.
-
bambano
titán
válasz
Speeedfire #1541 üzenetére
csak a lényeg maradt le róla, hogy mivel szeretnéd futtatni.
egyébként a PATH-ot felesleges unset-elni, (szerintem a többit is), ha új értéket adsz neki, felülírja.
-
Siriusb
veterán
válasz
Speeedfire #1536 üzenetére
pstree-vel nézd meg.
-
Jester01
veterán
válasz
Speeedfire #1534 üzenetére
Minden bizonnyal van aktív subshell is, például átirányítás miatt.
-
MacCaine
őstag
válasz
Speeedfire #1532 üzenetére
És mi a kimenet (a wc nélkül)?
-
MacCaine
őstag
válasz
Speeedfire #1530 üzenetére
A második szerintem a grep.
Új hozzászólás Aktív témák
- CASIO órák kedvelők topicja!
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Fejhallgató erősítő és DAC topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Formula-1 humoros
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Milyen billentyűzetet vegyek?
- Napelem
- PlayStation 4
- További aktív témák...
- Csere-Beszámítás! Asus Prime RTX 5060Ti 16GB GDDR7 Videokártya! Bemutató darab!
- Bomba ár! Lenovo ThinkPad T490s - i7-8GEN I 16GB I 256SSD I 14" WQHD HDR I Cam I W11 I Gari!
- Új! Targus - USB-C Dual HDMI 4K HUB - 2 HDMI-vel. Saját töltő nélkül 2 monitorral (120Hz)
- Samsung Galaxy A15, 128GB, Kártyafüggetlen, 1 Év Garanciával
- Xbox Game Pass Ultimate kedvező áron, egyenesen a Microsoft-tól! - AUTOMATA BOLT
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest