- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Mr. Y: Motoros sztorik #06
- Elektromos rásegítésű kerékpárok
- Magga: PLEX: multimédia az egész lakásban
- bambano: Bambanő háza tája
- vrob: Az IBM PC és a játékok a 80-as években
- Tomasz72: Ventilátor upgrade
Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
No, megvan végre a log_10() funkció is.
function log10(x) {\
return log(x)/log(10.0);\
}\
{a=substr($0,0,4); b=substr($0,4,4); if (a > 0) printf "%d,%d,%f\n",a,b,20*log10(b/a); }Így már jók a kiszámolt erősítés értékek. Ezeket kellene átirányítanom egy fájlba kezdésnek. Per pill még nem sikerült.
Valamint néha a 2. szám elcsúszik 1-2 értékkel, ezzel kezdenem kell valamit.
-
CPT.Pirk
Jómunkásember
Tehát ilyen formában, "egysorosként"?
awk ' {a=substr($0,0,4); b=substr($0,4,4); printf "%d,%d,%f\n",a,b,log(b/a); }' /dev/ttyUSB0
Ebben az esetben gondja van a filenévvel.
awk: (FILENAME=/dev/ttyUSB0 FNR=1) fatal: 0-val osztás kísérleteMindenképpen bele kellene terveznem valami "start karakter" felismerést majd, azt fixen bele fogom tenni az fpga programjába. Ahogy nézem, csak úgy biztosítható, hogy a jó számjegytől kezdjek el rögzíteni.
-
CPT.Pirk
Jómunkásember
Na arra rájöttem, hogy ilyen formában gondolod az awk indítását terminálban:
awk -f program.awk /dev/ttyUSB0
Ebben az esetben ha jól értem a FAQ-ot, a "FILENAME" változó jelenti a /dev/... -t, és ezzel kell hivatkozni rá, vagyis ez a standard input.
Egyszer ennyit írtam az awk fájlba (a txt fájl létezik):
OUTPUT="/home/pa.... /output.txt
FILENAME > OUTPUT
Ez annyit csinál, mintha azt írnám a terminálba, hogy cat /dev/ttyUSB0. Szóval csak kiírja az értékeket. Innen jó lenne egy kis segítség valamilyen szinten. Gugliztam egy kört, de valahogy nem akar előjönni egy érthető awk leírás, amivel tovább tudnék lépni.
-
bambano
titán
válasz
CPT.Pirk #992 üzenetére
ha awk -f -fel hívod, akkor nem kell az elejére a #! kezdetű sor.
egyébként meg próbáld ki.
de nem a begin blokkba kell megírni az egész awk progit.
a 2d koordinátázást meg úgy érdemes megcsinálni, hogy awk-ból olyan kimenetet csinálsz, amit a gnuplot meg bír enni és akkor összekötöd a kettőt. -
CPT.Pirk
Jómunkásember
Tehát akkor ez úgy van, hogy írok egy .awk fájlt ilyen módon:
#!/bin/awk -f
BEGIN {
számolós kód
.
..
...
exit;
},majd pedig az egészet meghyvom így a terminálban:
awk -f program.awk ?
Nem egy soros terminálos cuccban gondolkodok, mert később még jó lenne a pontokat betenni egy egyszerű 2D koordináta rendszerbe. Bár ez már hyper advanced lesz nekem. -
bambano
titán
válasz
CPT.Pirk #988 üzenetére
awk ugyanúgy interpreter, mint a shell, nagyjából ugyanúgy is kell használni. lehet parancssori is. pl.
echo 12345678| awk ' {a=substr($0,0,4); b=substr($0,4,4); printf "%d,%d,%f\n",a,b,log(b/a); }'
ezt már variálhatod kedvedre
még annyit, hogy ehhez nem kell cat, az awk meg tud nyitni minden karakteres fájlt (is). tehát egy cat /dev/ttyUSB0 | awk felesleges, jó az awk /dev/ttyUSB0-nak is.
-
-
bambano
titán
válasz
CPT.Pirk #984 üzenetére
a szeparáló karakter általában egy jó ötlet, a kérdés, hogy az fpga-t egyszerűbb-e újraprogramozni, vagy a shell szkriptet egyszerűbb mókolni. szerintem a második, de megvárjuk Jester01 kollégát a szokásos sormintáival
sedben pl. annyi, hogy négy darab számot le kell választani egy regexp-pel, valami ilyesmi lehet:
echo 12345678| sed -e 's,\([0-9]\{4\}\)\([0-9]\{4\}\),echo $(( \1 / \2 )),'de lehet awk-ban is és akkor rögtön megcsinálhatja az osztást (a shell egész számokat kezel).
-
CPT.Pirk
Jómunkásember
Megvan a válasz, a cat érti az új sor (decimális 10) karakterét, valszeg a többi vezérlő karaktert is. Gyönyörűen írogatja a dolgokat ilyen formában, ha 9. byte az új sor byte-ja.
xxxxyyyy
xxxxyyyy
xxxxyyyyMost annyi kellene, hogy valamilyen módon szétszedem xxxx yyyy -ra a 8 számjegyet, hogy lehessen osztani yyyy -t xxxx -el. Tegyek be valami szeparáló karaktert, amire egy függvény rá tud keresni, vagy számolgassak karaktereket?
Mondjuk ez a bin -> bcd átalakítás nem volt éppen egyszerű téma.
-
CPT.Pirk
Jómunkásember
Ez jó ötlet.
Tehát ha hozzáadok a 0-hoz 48-at, akkor kapom az ascii beli 0-t. Magyarul ha elküldöm az 110000 -t a terminálnak, akkor egy 0-t kell lássak a cat-al. (és így tovább)
Még hozzáadni sem kell, egy "case" függvénnyel kvázi statikusan le lehet írni, hogy ha x a bemenet, akkor y a kimenet, a mindössze 10 érték miatt ez nem is bonyolult.
Ha az egészet befoglalom STX, ETX karakterek közé (vagy valamelyik hasonló közé), akkor a cat ezt meg fogja érteni, vagy kitolja ezeket is a fájlba?
-
-
CPT.Pirk
Jómunkásember
Ahogy nézem, ez nem is egyszerű feladat. FPGA-ban nem nagyon van olyan, hogy ascii.
Talán az járható út, hogy BCD átalakítást csinálok, majd pedig a számjegyeket egy LUT táblában leírtak szerint átalakítom az ASCII kódjukra, és azt küldöm el. Trükkös lesz. [link]
Kicsit egyszerűbb lenne az od, csak hogy miért téveszti el a kezdést, az jó kérdés.
-
CPT.Pirk
Jómunkásember
Nem mikrovezérlő, ott nem tudom hogyan zajlik a soros port móka.
Szóval arra gondolsz, hogyha decimális formában küldöm át, pl. BCD kódban, akkor a cat parancs már számokat fog nekem kiadni? Ezt relatíve könnyen meg tudom csinálni, mert van egy kész bin - bcd konverterem.
-
CPT.Pirk
Jómunkásember
válasz
CPT.Pirk #973 üzenetére
Na jó, rájöttem, annyira nem nehéz az alapokat megírni. Szóval írtam egy pici scriptet, ami kitolja egy txt fájlba az értékeket. Viszont ha od-vel csinálom, akkor az előzőben vázolt probléma fent áll, ha rossz helyen kapja el a számokat, akkor minden érték hibás lesz.
cat-al pedig csak ascii karakterek mennek a fájlba, ahogy nézem, ez nem is alkalmas arra, amit szeretnék.
Tudtok valamit, ami az od-t kiváltaná?
-
CPT.Pirk
Jómunkásember
Na most valami tanácsot szeretnék kérni. Még mindig a soros port olvasás gondom van.
Ha od-val nézem a /dev/ttyUSB0 -t, akkor vagy eltalálja, hol kezdek adatot küldeni, vagy nem. Úgy csináltam meg az adat szerkezetet, hogy 00 00 a kezdést jelöli, FF FF pedig a végét, és a közte lévő 2 darab szám értékére van szükségem.
Amikor jó, akkor ilyen formátuma van a kimenetnek: (od -An -t x1 /dev...)
00 00 xx 0x xx 0x FF FF 00 00 xx 0x xx 0x FF FF(xx 0x a normális adat forma a 12 bites számaimhoz)
Más esetekben meg ott indul, ahol gondolja. Tehát van, hogy 00 xx 0x xx 0x FF FF ..., van hogy FF 00 00 xx 0x xx 0x FF FF 00 00 xx 0x xx 0x FF
Amikor jó helyen kapja el, akkor minden érték stimmel. Ha nem, akkor meg rossz párokat rak össze, pl. utolsó példánál az FF 00, az 00 xx, és az 0x FF fogják alkotni a számpárokat, ami nem jó.
Nem tudom hova tenni az od ilyen viselkedését. Olyanra tudtok mondani egy egyszerű szkriptet, hogy egyszerűen pl. lementi a cat /dev/ttyUSB0 kimenetét egy fájlba, de olvasható formában? Terminálban ez a parancs kidob egy rakás kérdőjel szimbólumot és semmi mást.
-
eriktoth
tag
Üdv van a következő kódom es syntaxis hibat jelez:
while read file
isdir=false
isfile=false
for f in $file/*
do
if [ -d $f ] ; then
isdir=true
else isfile=true
fi
done
doneA lényege az lenne, hogy megnézi hogy a megadott mappában vannak e másik mappák és fájlok. Vagy esetleg valakinek valami jobb megoldás? Nekem elsőre ilyesmi ugrott be.
-
lapa
veterán
hát neme. végül úgy döntöttem megpróbálom kiszedetni belőle az összes felesleges üres sort notepad++-szal. most megnéztem és a textfx pluginban nem csak "delete empty lines" van, hanem "delete surplus empty lines" is. szóval ráeresztettem végül.
ezzel küzdött egy darabig, és látszólag oké lett. mivel valami a komment blokkok körül nem stimmel a seamonkey-nak, most inkább kitöröltem az összes ilyet is (csak inaktív tartalom volt, semmi egyéb lényeges).
azt továbbra se tudom mitől nem műxött ugyanez sed-ben, de mindegy is. buktam pár órát. köszi ettől függetlenül.
-
lapa
veterán
mittomén mivel mit lehet csinálni, azért vagyok itt. (bocs, csak a hülye helyzet idegesít már, hogy a 21. században ekkora gond egy mezei htm kezelése mindenféle bugok nélkül).
szóval nekem a szimpla "üres sor eltűntetős sed" se műx.
ezt tudom elmondani a fájlról:
lapa@inox:/io$ enca wag.htm -L hungarian
7bit ASCII characters
Mixed line terminators
lapa@inox:/io$most ez jó vagy rossz?
nagyjából odáig jutottam, hogy a fájlba az első komment blokkba rak a seamonkey valami 700 ezer üres sort. vagy legalábbis egy helyre biztos rakott.
előbb megnyitottam gedit-tel, először sírt, hogy nem ismeri a kódolást. mondtam neki, hogy 8859-2. akkor nagy nehezen megnyitotta, sőt még a "-->" -t is megtalálta. akkor fogtam és kijelöltem-kitöröltem a 700 ezer sort. elmentettem, erre a 29 megából lett 52. gyanús, hogy ez nem a duplája, szóval gondolom van minden komment blokkban pár százezer fölös sor.
most azért nem műxenek a sedek, mert nem-utf-8?
már nincs semmilyen igényem, csak tűnjenek el az üres LF és CR LF sorok.
-
lapa
veterán
-
lapa
veterán
üdv. van egy olyan anomáliám, hogy a moron seamonkey berakott az eredetileg 2,2 mb-s htm fileomba 19 mb-nyi felesleges üres sort (LF).
nagyjából semelyik platform semelyik megoldásával nem sikerült eddig megoldani. múltkor már a notepad++ multiline find & replace-e megcsinált egy ugyanilyet, de most se winen, se linuxon nem csinál semmit se (homokóra akármennyi ideig hagyom).
röviden az érdekelne, hogy LF LF LF LF-ből csináljon nekem a shell egy LF-et (magyarul töröljön 3 felesleges sort).
adott esetben LF LF LFCR LF -ből LF is érdekelne.
próbáltam egyelőre más, egyszerűbb dolgokat de sajnos kevés sikerrel. bocs, ha lehet most nem állnék neki guglizni, ha valaki tud egy gyorsat mondani akkor hajrá. köszi.
-
cAby
tag
válasz
Jester01 #958 üzenetére
Áhh értem, köszi a felvilágosítást. Maradok az előbbi megoldásnál inkább.
Már ki is tudtam sed-el szedni ami nem kell oda:
sed -e "s/Cpu(s): //" | sed -e "s/%us,//" | sed -e "s/%sy,//" | sed -e "s/%ni,//" | sed -e "s/%id,//" | sed -e "s/%wa,//" | sed -e "s/%hi,//" | sed -e "s/%si,//" | sed -e "s/%st//"
De csak úgy működik, ha előbb az eredményt elmentem egy cpu.txt-be
aztán az elejére írom, hogy cat cpu.txt | sed .... és így elmentem egy másikba.De így nem, hogy:
top -b -d 1| while read p; do echo $(date +"%T") $p; done | grep Cpu | sed -e "s/Cpu(s): //" | sed -e "s/%us,//" | sed -e "s/%sy,//" | sed -e "s/%ni,//" | sed -e "s/%id,//" | sed -e "s/%wa,//" | sed -e "s/%hi,//" | sed -e "s/%si,//" | sed -e "s/%st//"Ilyet nem lehet, hogy egyből így mentse le? :\
-
Jester01
veterán
Ezek a különböző módban töltött időadatok (user,system,nice, idle, wait, egyebek)
Százalékot úgy kapsz belőle mint ahogy a top is - két egymás utáni értéket kivonsz és osztod a teljes idővel.Mondjuk ha kifejezetten a monitorozás a cél, és nem pedig a script írás, akkor nyilván vannak erre kész megoldások.
-
cAby
tag
válasz
Jester01 #955 üzenetére
Megnéztem akkor amikor mondtad, de egy ilyennel találtam szemben magam:
cpu 199957490 1300639 49153374 7781071864 207319963 25528 845323 0 0Fogalmam sincs mit jelentenek ezek a számok, ill. hogyan formázzam, hogyan kapjak ebből %-os értéket.
Ezért akartam mással megoldani.
De ez a megoldás, amit bambano írt jó lesz. Ha meg ki tudom sed-el szedni ami nem kell oda, akkor tökéletes lesz nekem.
Elhiszem, hogy a másik szebb megoldás lenne, de sajnos nem értek ilyen szinten a dolgokhoz.
-
cAby
tag
Hmm.. tényleg, elő is kaptam régi jegyzeteimet és megtudtam, hogy cat akarmi | sed s/eztcsereld/emerre/ a parancs.
Neki is ugrottam, de nem jön össze eddig még
Ez egy sor:
02:02:38 Cpu(s): 16.8%us, 13.7%sy, 0.0%ni, 7.6%id, 62.0%wa, 0.0%hi, 0.0%si, 0.0%stTehát, le akarom cserélni a "%us, " (szóköz is van) egy szóközre, ugyan így a többi, kiv a %st, mert ott azt csak törölni kellene.
A szóközt azt hogyan kellene jelölni?
Eddig ez votl a próbám, amivel csúnyán megbuktam.
top -b -d 1| while read p; do echo $(date +"%T") $p; done | grep Cpu | sed s / %sy,' ' /' ' -
cAby
tag
Ezt a 2 fogom akkor használni:
nohup iostat -m 1| while read p; do echo $(date) $p; done | grep sde > /tmp/io.txt &
nohup top -b -d 1| while read p; do echo $(date +"%r") $p; done | grep Cpu > /tmp/cpu.txt &Tehát így az eredeti script amit csináltam nem is kell.
Kérdés, hogy a felső 2 parancsot pontosan 1 időben el lehet indítani?
szerk.: Úúú.. a top-os mégsem jó, mert amit kiír az ez:
01:49:48 AM Cpu(s): 7.4%us, 12.0%sy, 0.0%ni, 12.0%id, 68.3%wa, 0.0%hi, 0.3%si, 0.0%st
és így nem tudok statisztikát csinálni. Az értékek mellé nem kellene más, tehát:
7.4%us, helyett csak 7.4 kéne. Ezt gondolom nem lehet kiszedni. :Sszerk.: Lehet, hogy ronda megoldás de Notepad++-ban mentés után replace-szel meg lehet csinálni.
-
cAby
tag
dstat nincs fenn, meg gondolom ott is csak hozzá kellene bűvészkedni a dátumot.
Áhh, ez tökéletesen megy amit írtál. Nagyon szépen köszönöm, sokat segítettél!
Ez alapján átírtam ezt a változatomat:
#!/bin/bash
Timer=0
ENDTIMER=50000
SAVEPLACECPU=/tmp/cpu_report.txt
while [ "$Timer" -ne "$ENDTIMER" ]
do
sleep 1
Timer=`expr $Timer + 1`
sar -u 1 | grep '^[0-9]' | grep 'all' >> "$SAVEPLACECPU"
echo "$Timer meres futott le"
done
exit 0erre: top -b -d 1| while read p; do echo $(date +"%r") $p; done | grep Cpu
Elindítottam mind a kettőt, de azonos időpontban az értékek között kis eltérések vannak..
Ez lehet attól nem, hogy mind a kettő azt írja, hogy pl. 01.38.59 AM,de egyik 01:38:59.001, másik meg 01:38:59.999-ben rögzít?szerk.: Még valami érdekelne, ezt a 2 parancsot, hogyan lehetne elindítani pontosan egy időben? (Lehet, hogy rájövök nemsokára, de inkább megkérdezem.)
nohup iostat -m 1| while read p; do echo $(date) $p; done | grep sde > /tmp/io.txt &
nohup top -b -d 1| while read p; do echo $(date +"%r") $p; done | grep Cpu > /tmp/cpu.txt & -
cAby
tag
Sziasztok!
Kis segítségre lenne szükségem.A következő értéket szeretném lementeni másodpercenként/ütementként:
iostat -m | grep sde , úgy, hogy egy dátumot (date +"%r") minden sor elejére még beszúrjon.Ezt megcsináltam így:
#!/bin/bash
Timer=0
ENDTIMER=50000
SAVEPLACE=/tmp/io_report.txt
while [ "$Timer" -ne "$ENDTIMER" ]
do
sleep 1
Timer=`expr $Timer + 1`
echo `date +"%r"` `iostat -m | grep 'sde'` >> "$SAVEPLACE"
echo "$Timer meres futott le"
done
exit 0Ezt le is menti, csak az a problémám, hogy hibás eredményt ad alapból az iostat -m | grep sde... mert a MB_read/s és wrtn/s szinte azonos értéken (3 és 0.5) áll végig..
Ha parancssorba beírtam így, hogy: nohup iostat -m 1 | grep sde > /tmp/adat.txt , akkor ez szépen lementi percenként az aktuális _helyes_ adatot.
De nem tudok rájönni, hogy ebben a verzióban, hogyan lehetne beszúrni a dátumot minden sor elejére...
Nem muszáj shell script-ben, ha lehet így parancssorosan is valahogy.Ha valaki tudja, akkor legyen olyan jó és segítsen egy kicsit.
Köszönöm szépen!
üdv,
Csabi -
Jester01
veterán
válasz
eriktoth #943 üzenetére
A ciklusban nem is használod a FILE változót. A for pedig nem ellenőrzi a fájlok létezését, ráadásul azokra a fájlokra nincs is hivatkozás.
Egyszerűbb lenne a konkrét fájlokat keresni, pl így:find . -name stdout-captured -o -name stderr-captured -o -name status-captured |
while read -r FILE
do
diff -up "$FILE" "${FILE%captured}expected" > "${FILE%captured}delta" 2>/dev/null
doneIgény szerint lehet vizsgálni, hogy az expected is létezzen.
-
eriktoth
tag
Üdv!
Van egy ilyen kódom:#!/bin/bash
for DIR in `find . -type d`
do
cd $DIR
for FILE in stdout stderr status
do
diff -up stdout-captured stdout-expected > stdout-delta 2>/dev/null
diff -up stderr-captured stderr-expected > stderr-delta 2>/dev/null
diff -up status-captured status-expected > status-delta 2>/dev/null
done
cd $OLDPWD
doneNos a feladata az lenne, hogy bárhol is vannak ezek fájlok a gépen, megtalálja, és a captured és az expected különbségét beirta a deltába. a kód így működőképes, csak az a gond vele, hogy a deltát az összes könyvtárba létrehozza ami a fájlokhoz vezet.
Valami ötlet esetleg, hogy ezt mert csinálja?
Jah és ahol találhatók ezek a fájlok ott kené csak létrehoznia a deltát, sehol máshol
Előre is kösz -
gyugyo22
csendes tag
a győztes pedig
ps -o pid,comm | uniq -D -f 1
echo "kill cmd? pid: " | read PID
kill -9 $PID -
bambano
titán
válasz
Jester01 #935 üzenetére
akkó' most tartsd meg a heti shell szkript oktatásodat
én még sosem próbáltam sorttal ismétléseket keresni, viszont a uniq-nak is meg lehet mondani, hogy hanyadik mezőtől nézze csak az ismétlést.abban igazad van, hogy a uniq előtt nem árt sorbarendezni.
szerk: gnu ps tud magától is sorbarendezni, szóval nem kell sort.
-
gyugyo22
csendes tag
Üdv!
Az alábbi feladatot kaptam de semmit se tudok vele kezdeni
Leírás: Írjon egy olyan shell script-et, amely kilistázza az azonos nevű processzeket (több példányban futó programokat).
A listázás után a felhasználónak lehetősége van az egyező processzek leállítására PID-jük megadásával, amennyiben nem ad meg egyet sem, az összes processz tovább fut.Példa:
$ ps PID TTY TIME CMD
8780 pts/0 00:00:00 bash
8793 pts/0 00:00:20 yes
8796 pts/0 00:00:18 yes
8798 pts/0 00:02:12 gedit
8801 pts/0 00:01:20 firefox
8813 pts/0 00:00:00 ps$ ./kill.sh
PID CMD
8793 yes
8796 yes
kill cmd? pid: 8793$ ps PID TTY TIME CMD
8780 pts/0 00:00:00 bash
8796 pts/0 00:00:28 yes
8798 pts/0 00:02:22 gedit
8801 pts/0 00:01:30 firefox
8813 pts/0 00:00:00 psVan e valami elképzelésetek, arról hogy hogy oldanátok meg?
-
lapa
veterán
válasz
Jester01 #929 üzenetére
oké, nekem eddig nem volt világos, hogy a trap után neki még van élet, azért nem értettem mi történik. de akkor ha jól értem ctrl +c -nél lefut a trap, meg (hacsak le nem exitelem) minden ami utána van? jól értem ezt?
ilyesmit láttam én is példákban, hogy a loop figyeli a trap által belőtt változót, de nem esett le.
-
Jester01
veterán
Van exit do, úgy hívják, hogy break. De az csak a ciklusmagban működik, trap-ból nem. Ha nem akarsz a trap-ban kilépni a scriptből, akkor ott beállíthatsz egy változót amit aztán a ciklus folyton ellenőriz.
MOD: mondjuk a sleep-pel nem tudom milyen interakció van, azt még meg kellene nézni.
-
lapa
veterán
úgy próbáltam először, de akkor se lépett ki ctrl + c-re a termosztátból, hanem ugyanazt írogatta, mint amit a végén írok.
nemtom van olyan, hogy exit loop vagy ilyesmi?
upd: ez az exit 0 reálisan hangzik, nagyjából kezdem érteni mi történt mikor az előbb a trapot "exit do"-val kezdtem.
szerintem jó lesz ez így, köszi mindkettőtöknek.
-
lapa
veterán
válasz
Jester01 #924 üzenetére
oké, most raktam egy ilyet mindenhova:
#!/bin/bash
------------------------------------------------trap bashtrap INT
bashtrap()
{
cat /tmp/sensor >> /media/truecrypt1/backup/sensor
rm /tmp/sensor
fusermount -u /mnt/sensor
}
/opt/owfs/bin/owfs -u /mnt/sensor/
while [ 1 -eq 1 ]
do
--------------------------------------------------trap bashtrap INT
touch /tmp/sensor
most=`date +%s`
lejar=`date --date='3580 second' +%s`
while [ $most -le $lejar ]
do
-----------------------------------------------------trap bashtrap INT
most=`date +%s`
miko=`date +"%Y.%m.%d %H:%M:%S"`
mit=`cat /mnt/sensor/10.*/temperature`
echo $miko$mit >> /tmp/sensor
sleep 15
done
cat /tmp/sensor >> /media/truecrypt1/backup/sensor
rm /tmp/sensor
donede ez még nem tökéletes. első ctrl + c-re nem adja vissza a promptot. második ctrl + c-re meg az alábbiakat ismétli:
^Ccat: /mnt/sensor/10.*/temperature: No such file or directory
^Cfusermount: entry for /mnt/sensor not found in /etc/mtab
cat: /mnt/sensor/10.*/temperature: No such file or directory
^Cfusermount: entry for /mnt/sensor not found in /etc/mtab
cat: /mnt/sensor/10.*/temperature: No such file or directoryközben meg dátumozott, üres sorok képződnek. mintha a do - while-t nem hagyná el. előbb próbáltam a trapba exit do-t írni de az se sikerült túl jól.
-
lapa
veterán
nekem ez nem mén se ctrl + c-re, se logoff gombra:
#!/bin/bash
bashtrap()
{
cat /tmp/sensor >> /media/truecrypt1/backup/sensor
rm /tmp/sensor
fusermount -u /mnt/sensor
}
/opt/owfs/bin/owfs -u /mnt/sensor/
while [ 1 -eq 1 ]
do
touch /tmp/sensor
most=`date +%s`
lejar=`date --date='3580 second' +%s`
while [ $most -le $lejar ]
do
most=`date +%s`
miko=`date +"%Y.%m.%d %H:%M:%S"`
mit=`cat /mnt/sensor/10.*/temperature`
echo $miko$mit >> /tmp/sensor
sleep 15
done
cat /tmp/sensor >> /media/truecrypt1/backup/sensor
rm /tmp/sensor
done -
eriktoth
tag
Köszönöm az előző problémát sikerült megoldanom, de újba ütköztem:
a mappa amiben van a cmd-given nevá fájl le kell ellenőriznem, hogy az e a feldolgozandó mappa, illetve a cmd-given fut-e?
Valami ötletek esetleg? -
eriktoth
tag
ÜDV!
Most olyan kérdésem lenne, hogy van a következő kódom:for i in `find . -name "*-captured"`
do
mv "$i" stdout-expected
doneSzépen megtalálja a fájlt, át is nevezi, de áthelyezi a home könyvtárba amit nem szeretnek
esetleg ötlet?
előre is köszönöm -
lapa
veterán
most kezdek neki harmadszor, de szerintem most megvan a kérdés: van egy scriptem, sleepel épp. olyat szeretnék, hogy még fusson le valami, mikor ctrl + c-t nyomok.
odáig megvagyok, hogy két egymásba ágyazott szkripttel megoldható. de megoldható-e egy scripten belül? van egy kb 30 soros rutin, ami folyamatosan megy, ennek az aktuális eredményét kéne ctrl + c vagy init 0 esetén elmentenem. köszi.
-
eriktoth
tag
Még kifelejtettem, ezt úgy is meg fogom tudni csinálni, ha konkrétan nem fogom ismerni a könyvtárak, vagy a fájlok nevét?
-
eriktoth
tag
ÜDV!
Olyasmit hogyan lehetne megoldani, hogy megalállaptom, hogy egy könyvtarnak van e allkönyvtara, es nincsenek benne fájlok, ha van kiir valamit, illetve, hogy a könyvtárban, nincsenek semilyen szimbolikus linkek
elore is köszönöm, eleg fontos :S -
Siriusb
veterán
Bootoláskor, ha egy adott merevlemez csatolva van, szeretném altatásba küldeni:
LEMEZ="dev/disk/by-id/ata-akarmi"
if [ -b "$LEMEZ" ]
then
(sleep 30 && /sbin/hdparm -Y $LEMEZ) &
echo "kicsi"
fiEz miért nem működik?
-
eriktoth
tag
Üdv!
Van egy ilyen feladatom:
a TEST_DIR paraméter megadja a könyvtárstruktúrát, és egy választható reguláris kifejezés szűri a könyvtárakat, amibe dolgozni fogunkValahogy nekem ez teljesen érthetetlen, valaki ha tudna hozzáfűzni valamit esetleg
Előre is kösz
-
CPT.Pirk
Jómunkásember
Megpróbáltam -crtscts, crtscts-el és ezek nélkül is, mindegyik esetben az stty szerint a baudrate 38400, az od-s parancsot kiadva meg a modulom abbahagyja a küldést. Mikor kihúzom az USB-t, akkor 7 darab 0 a kimenet.
Ezután ha visszadugom, a modul újra küld csomagokat, nem kell semmit csinálnom. -
CPT.Pirk
Jómunkásember
Elvileg kézfogás mentes uart protokoll van, mert az FPGA felé megy egy CTS és RTS, viszont onnan a modul felé csak a TX, és mérések szerint a CTS, RTS logikai '1'-en vannak, amint végez a modul az USB-s kapcsolat felépítésével.
Végül is mindegy, mert a modulom küldi a cuccot, lehet, hogy külön kezeli az adó és a vevő oldalt.Am igen, már lejárt a szerkesztés, mikor rájöttem, hogy az N4 az nem fájl akar lenni.
Viszont akkor az a kérdésem, hogy konkrétan hogyan tudnék lementeni beeső 4*8 bitet? Milyen környezetben használjam ezt az OD parancsot?
Új hozzászólás Aktív témák
Hirdetés
- Hardcore café
- Meghúzza a nadrágszíjat a gyártóüzemeiben az Intel
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Android alkalmazások - szoftver kibeszélő topik
- Milyen okostelefont vegyek?
- Milyen RAM-ot vegyek?
- Autós topik
- Alkoholista nevelde
- Samsung Galaxy A56 - megbízható középszerűség
- Előrendelhető a OnePlus Pad 3
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Antivírus szoftverek, VPN
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Telefon felvásárlás!! Samsung Galaxy A13/Samsung Galaxy A33/Samsung Galaxy A53
- REFURBISHED - HP USB-C Universal Dock G1 docking station (DisplayLink)
- Samsung Galaxy A41 64GB Kártyafüggetlen, 1Év Garanciával
- Samsung Galaxy S23 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- Corsair K100 Air wireless (CH-913A01U-DE) DE SN - A1E4G325503IVC
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest