-
2300 - 2201
2923 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Headless
őstag
(#2298) colomb2 köszi
, de változott a tervDebian alatt szeretném a csomagokat és hozzájuk tartozó függőségeket kiíratni. Ez működik is ezzel:
dpkg-query -W -f '${binary:Package}: ${Depends}\n'Viszont ez egyben kiírja az összeset, ami azért baj, mert a terminalablakban nem lehet az elejére tekerni. Ezt hogyan tudnám úgy megoldani, hogy kiírjon x sort (egy képernyőnyit/ablaknyit), majd mondjuk space megnyomására kiírjon még 1x ennyit, majd még 1x... és így kiírni az összeset?
kiiratod egy text fájlba és megnyitod valamivel? Amúgy lehet tekerni asszem shift+PageUP/down párossal.
kiiratni a kimentet fájlba pedig.
dpkg-query -W -f '${binary:Package}: ${Depends}\n' >"/Path/to/File"utána akár consolos szövegszerkesztővel is meg tudod nézni pli nano/vi, stb, de akár Windowsról is meg tudod nyitni...
-
anorche1
őstag
(#2298) colomb2 köszi
, de változott a tervDebian alatt szeretném a csomagokat és hozzájuk tartozó függőségeket kiíratni. Ez működik is ezzel:
dpkg-query -W -f '${binary:Package}: ${Depends}\n'Viszont ez egyben kiírja az összeset, ami azért baj, mert a terminalablakban nem lehet az elejére tekerni. Ezt hogyan tudnám úgy megoldani, hogy kiírjon x sort (egy képernyőnyit/ablaknyit), majd mondjuk space megnyomására kiírjon még 1x ennyit, majd még 1x... és így kiírni az összeset?
-
Rimuru
veterán
lastparancs, innen az osszes kello infod megvan. -
anorche1
őstag
Sziasztok!
Olyan scriptet kellene írnom, hogy paraméterként bekér egy felhasználónevet, majd kiírja, hogy mikor jelentkezett be utoljára, mennyi időt töltött bent, naponta átlag hanyszor jelentkezik be, és mennyi időt tölt bent.
Tudna nekem ebben valaki segíteni?Előre is köszönöm!

-
Jester01
veterán
Szia!
Csak az, hogy berakom a scriptbe, nem csinál semmit, ha begépelem, akkor jó.
Ha berakok közé egysleep 1, akkor meg csak kikapcsol.A másodikat is kipróbáltam és nem történik semmi.
Hidd el küzdöttem vele rendesen, amit tudtam kipróbáltam, nem rohantam ide azonnal.
Az echo-nak működnie kell akár cron script akár nem. Ott valami más gubanc van.
-
SteveBeard
senior tag
Szia!
Csak az, hogy berakom a scriptbe, nem csinál semmit, ha begépelem, akkor jó.
Ha berakok közé egysleep 1, akkor meg csak kikapcsol.A másodikat is kipróbáltam és nem történik semmi.
Hidd el küzdöttem vele rendesen, amit tudtam kipróbáltam, nem rohantam ide azonnal.
-
Jester01
veterán
Sziasztok!
Mobilnettel használom az internetet, csak az a probléma, hogy a routerre csatlakoztatott usb modem időnként leáll.
Erre találtam egy scriptet, ami ebben az esetben újraindítja a routert.#!/bin/sh
n=0
while [ 1 ]; do
ping -c 1 -W 10 -w 10 8.8.8.8
ret=$?
echo ping result $ret
if [ $ret -eq 0 ]; then
echo ping ok
exit 0
else
echo ping fail
n=$((n+1))
sleep 1
fi
echo fail counter $n
if [ $n -gt 60 ]; then
reboot
fi
doneDe úgy gondolom nem túl elegáns ilyenkor a routert újraindítani, ezért tovább keresgéltem és megtaláltam hogy lehet az usb-t ki-be kapcsolni.
echo 0 > /sys/class/gpio/gpio21/valuekikapcsolásecho 1 > /sys/class/gpio/gpio21/valuebekapcsolásEnnél is szebb lenne, ha csak maga a modem indulna újra.
Erre is találtam egy fél megoldást:screen /dev/ttyUSB1AT^RESETenter és a modem újraindulA script működik cronból időzítve.
A másik két megoldás is jó, ha én gépelem be azokat, de ahhoz már kevés vagyok, hogy a script a reboot helyett a másik két megoldás valamelyikét használja.
Ehhez kérném a segítségeteket!Előre is köszönöm!
Az első megoldással semmi más dolgod nincs mint betenni a reboot helyett, ebben mi okozott gondot?

A másodikban nem értem minek a screen, látszólag az is inkább egy echo AT^RESET > dev/ttyUSB1 akar lenni.
-
SteveBeard
senior tag
Sziasztok!
Mobilnettel használom az internetet, csak az a probléma, hogy a routerre csatlakoztatott usb modem időnként leáll.
Erre találtam egy scriptet, ami ebben az esetben újraindítja a routert.#!/bin/sh
n=0
while [ 1 ]; do
ping -c 1 -W 10 -w 10 8.8.8.8
ret=$?
echo ping result $ret
if [ $ret -eq 0 ]; then
echo ping ok
exit 0
else
echo ping fail
n=$((n+1))
sleep 1
fi
echo fail counter $n
if [ $n -gt 60 ]; then
reboot
fi
doneDe úgy gondolom nem túl elegáns ilyenkor a routert újraindítani, ezért tovább keresgéltem és megtaláltam hogy lehet az usb-t ki-be kapcsolni.
echo 0 > /sys/class/gpio/gpio21/valuekikapcsolásecho 1 > /sys/class/gpio/gpio21/valuebekapcsolásEnnél is szebb lenne, ha csak maga a modem indulna újra.
Erre is találtam egy fél megoldást:screen /dev/ttyUSB1AT^RESETenter és a modem újraindulA script működik cronból időzítve.
A másik két megoldás is jó, ha én gépelem be azokat, de ahhoz már kevés vagyok, hogy a script a reboot helyett a másik két megoldás valamelyikét használja.
Ehhez kérném a segítségeteket!Előre is köszönöm!
-
Killerlaca
senior tag
Ennek a fenti szkriptnek a végére lehet olyat tenni, hogy az adott könyvtárban található könyvtárak neveit írja ki egy .lista fájlba?
Köszönöm
megvan :-)
-
Killerlaca
senior tag
ismerkedünk egymással.

Nem nagyon értek hozzá sajnos, de most szembejött pár dolog amit jó lenne megoldani.Ennek a fenti szkriptnek a végére lehet olyat tenni, hogy az adott könyvtárban található könyvtárak neveit írja ki egy .lista fájlba?
Köszönöm
-
Killerlaca
senior tag
ismerkedünk egymással.

Nem nagyon értek hozzá sajnos, de most szembejött pár dolog amit jó lenne megoldani. -
dabadab
titán
Köszönöm a segítséget.
És azt bele lehet tenni, hogy menjen végig egy könyvtárban lévő összes fájlon és mindnél csinálja meg az általad írt műveleteket?
Tehát a végén minden fájl aminek talált a levágások után könyvtárat azt tegye is bele abba."És azt bele lehet tenni, hogy menjen végig egy könyvtárban lévő összes fájlon és mindnél csinálja meg az általad írt műveleteket?"
A for pont ezt csinálja benne - tulajdonképpen mennyire vagy képben shellscript-ügyileg?
-
Killerlaca
senior tag
"Jól gondolom, hogy itt valami "if" "then" megoldást kellene használni?"
Nem.
"Köszönöm"
Szívesen!

Szóval átmozgatásnál a könyvtár nevét így kell kiszámolni, hogy fogod a file nevét és megcsinálod vele azt, amit itt leírtál (levágsz az elejéből meg a végéből) és az így kapott könyvtárba mozgatod. Kb vmi ilyesmi (ez levágja az első négy karaktert, a végéről meg az egy pontból és három karakterből álló kiterjesztést):
for filename in * ; do
dirname="$(echo $filename | cut -c5- | sed 's/\....$//)"
mv "$filename" "$dirname"
doneKöszönöm a segítséget.
És azt bele lehet tenni, hogy menjen végig egy könyvtárban lévő összes fájlon és mindnél csinálja meg az általad írt műveleteket?
Tehát a végén minden fájl aminek talált a levágások után könyvtárat azt tegye is bele abba. -
dabadab
titán
Sziasztok!
Tudna nekem valaki hozzáértő segíteni?
Hogyan lehet bash-ben olyat megcsinálni, hogy:
adott több 100 fájl egy könyvtárban, adott ugyan itt ugyan ennyi könyvtár amik nevei a fájlok neveinek egy része(levágtunk a fájlok lejéből meg levágtuk a kiterjesztést is).És itt szeretnék olyat csinálni, hogy minden fájlt mozgasson abba a könyvtárba aminek a neve megtalálható az adott fájlnévben.
Jól gondolom, hogy itt valami "if" "then" megoldást kellene használni?Köszönöm
"Jól gondolom, hogy itt valami "if" "then" megoldást kellene használni?"
Nem.
"Köszönöm"
Szívesen!

Szóval átmozgatásnál a könyvtár nevét így kell kiszámolni, hogy fogod a file nevét és megcsinálod vele azt, amit itt leírtál (levágsz az elejéből meg a végéből) és az így kapott könyvtárba mozgatod. Kb vmi ilyesmi (ez levágja az első négy karaktert, a végéről meg az egy pontból és három karakterből álló kiterjesztést):
for filename in * ; do
dirname="$(echo $filename | cut -c5- | sed 's/\....$//)"
mv "$filename" "$dirname"
done -
Killerlaca
senior tag
Sziasztok!
Tudna nekem valaki hozzáértő segíteni?
Hogyan lehet bash-ben olyat megcsinálni, hogy:
adott több 100 fájl egy könyvtárban, adott ugyan itt ugyan ennyi könyvtár amik nevei a fájlok neveinek egy része(levágtunk a fájlok lejéből meg levágtuk a kiterjesztést is).És itt szeretnék olyat csinálni, hogy minden fájlt mozgasson abba a könyvtárba aminek a neve megtalálható az adott fájlnévben.
Jól gondolom, hogy itt valami "if" "then" megoldást kellene használni?Köszönöm
-
cigam
titán
-
dabadab
titán
Ha csak ezt futtatom
if [ "$XDG_CURRENT_DESKTOP" = "LXDE" ]
then
echo "Ez a jó választás"
pcmanfm -w $path$imgName
fiAkkor kiírja, hogy "Ez egy jó választás", és lefut a háttérkép beállítás is. Valahogy rossz helyre szúrtam be a feltételek közé, és ezért nem fut le. De nem jövök rá hol rontottam el

Akkor viszont valószínűleg az lesz, amit Headless ír, hogy a gsettings az mindig true lesz.
-
cigam
titán
Ha csak ezt futtatom
if [ "$XDG_CURRENT_DESKTOP" = "LXDE" ]
then
echo "Ez a jó választás"
pcmanfm -w $path$imgName
fiAkkor kiírja, hogy "Ez egy jó választás", és lefut a háttérkép beállítás is. Valahogy rossz helyre szúrtam be a feltételek közé, és ezért nem fut le. De nem jövök rá hol rontottam el

-
Headless
őstag
Az if - then - elif - fi feltételbe be tudok szúrni tetszőleges számú elif-et?
if [ "$XDG_CURRENT_DESKTOP" = "XFCE" ]
then
xres=($(echo $(xfconf-query --channel xfce4-desktop --list | grep last-image)))
for x in "${xres[@]}"
do
xfconf-query --channel xfce4-desktop --property $x --set $path$imgName
done
# A unity, gnome3, és cinnamon ablakkezelők háttérképének beállítása.
elif gsettings set org.gnome.desktop.background picture-uri "file://$path$imgName"; then
# A nagyítás beállítása
gsettings set org.gnome.desktop.background picture-options "zoom"
elif [ "$XDG_CURRENT_DESKTOP" = "LXDE" ]
then
pcmanfm -w $path$imgName
else
echo "Az $XDG_CURRENT_DESKTOP ablakkezelő nem támogatott."
break
fiMert ez így nem működik. Alakítsam át az egészet case --- esace-re? Vagy?
Ez a sor (feltétel) véletlen nem mindig TRUE-val tér vissza?
elif gsettings set org.gnome.desktop.background picture-uri "file://$path$imgName"; then -
dabadab
titán
-
cigam
titán
Nem, nincs hibaüzenet, viszont nem fut le az LXDE ág, pedig LXDE-t használok:
elif [ "$XDG_CURRENT_DESKTOP" = "LXDE" ] then
pcmanfm -w $path$imgName
else -
dabadab
titán
Az if - then - elif - fi feltételbe be tudok szúrni tetszőleges számú elif-et?
if [ "$XDG_CURRENT_DESKTOP" = "XFCE" ]
then
xres=($(echo $(xfconf-query --channel xfce4-desktop --list | grep last-image)))
for x in "${xres[@]}"
do
xfconf-query --channel xfce4-desktop --property $x --set $path$imgName
done
# A unity, gnome3, és cinnamon ablakkezelők háttérképének beállítása.
elif gsettings set org.gnome.desktop.background picture-uri "file://$path$imgName"; then
# A nagyítás beállítása
gsettings set org.gnome.desktop.background picture-options "zoom"
elif [ "$XDG_CURRENT_DESKTOP" = "LXDE" ]
then
pcmanfm -w $path$imgName
else
echo "Az $XDG_CURRENT_DESKTOP ablakkezelő nem támogatott."
break
fiMert ez így nem működik. Alakítsam át az egészet case --- esace-re? Vagy?
"Az if - then - elif - fi feltételbe be tudok szúrni tetszőleges számú elif-et?"
Igen.
"Mert ez így nem működik"
Hibaüzenetet ad?
-
cigam
titán
Az if - then - elif - fi feltételbe be tudok szúrni tetszőleges számú elif-et?
if [ "$XDG_CURRENT_DESKTOP" = "XFCE" ]
then
xres=($(echo $(xfconf-query --channel xfce4-desktop --list | grep last-image)))
for x in "${xres[@]}"
do
xfconf-query --channel xfce4-desktop --property $x --set $path$imgName
done
# A unity, gnome3, és cinnamon ablakkezelők háttérképének beállítása.
elif gsettings set org.gnome.desktop.background picture-uri "file://$path$imgName"; then
# A nagyítás beállítása
gsettings set org.gnome.desktop.background picture-options "zoom"
elif [ "$XDG_CURRENT_DESKTOP" = "LXDE" ]
then
pcmanfm -w $path$imgName
else
echo "Az $XDG_CURRENT_DESKTOP ablakkezelő nem támogatott."
break
fiMert ez így nem működik. Alakítsam át az egészet case --- esace-re? Vagy?
-
Fecogame
veterán
-
Jester01
veterán
Igen ez bash, sima sh nem tud ilyet, ott szerintem maximum ezt lehet:
for X in 0 1 2 3 4 5 6 7 8 9 A B C D E F -
Fecogame
veterán
#!/bin/bash
for X in $(seq 0 15) ; do
HEX=$(printf '%X\n' $X)
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_${HEX} | gzip > /tmp/DATABASE_${HEX}.sql.gz
doneA for csinálja a ciklust - ez úgy működik bashban, hogy az in után lévő lista elemeit adja szépen sorban a ciklusváltozónak (esetünkben X-nek). Ezt a listát a seq paranccsal generálom, ez annyit tud, hogy két (lebegőpontos) érték között (opcionálisan megadott lépésközzel) kiír számokat.
Mivel hexa számokat használtok, a következő sorban a decimális értékeket gyorsan át is konvertálom (a seqnak is meg lehet adni printf-stílusú formázást, de sajnos csak lebegőpontost, szóval ott ezt nem lehetett elsütni).
Ezek után nem maradt más, mint a konkrét parancs, amibe be van helyettesítve a hexa változó.
Köszi!
Jester01: Neked is! A te megoldásod nem működik, ha a scriptem fejlécében ez van megadva:
#!/bin/shCsak ha ez:
#!/bin/bashMi az sh kompatibilis verzió a tiedből?
-
Jester01
veterán
#!/bin/bash
for X in $(seq 0 15) ; do
HEX=$(printf '%X\n' $X)
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_${HEX} | gzip > /tmp/DATABASE_${HEX}.sql.gz
doneA for csinálja a ciklust - ez úgy működik bashban, hogy az in után lévő lista elemeit adja szépen sorban a ciklusváltozónak (esetünkben X-nek). Ezt a listát a seq paranccsal generálom, ez annyit tud, hogy két (lebegőpontos) érték között (opcionálisan megadott lépésközzel) kiír számokat.
Mivel hexa számokat használtok, a következő sorban a decimális értékeket gyorsan át is konvertálom (a seqnak is meg lehet adni printf-stílusú formázást, de sajnos csak lebegőpontost, szóval ott ezt nem lehetett elsütni).
Ezek után nem maradt más, mint a konkrét parancs, amibe be van helyettesítve a hexa változó.
Vagy másképpen:
for X in {{0..9},{A..F}} -
dabadab
titán
Nem tudom hogyan induljak el, egy kis (elméleti) segítséget kérnék.
Van egy scriptem, amiben nagyjából hasonló sorok vannak, összesen 16, viszont szebben szeretém megoldani:
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_0 | gzip > /tmp/DATABASE_0.sql.gz
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_1 | gzip > /tmp/DATABASE_1.sql.gz
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_2 | gzip > /tmp/DATABASE_2.sql.gz
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_3 | gzip > /tmp/DATABASE_3.sql.gz
..
..
..
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_F | gzip > /tmp/DATABASE_F.sql.gzTehát az értékek amik változnak, azok 0-9 közötti számok és a-f betűk.
Valamiféle ciklust szeretnék létrehozni, ami mindössze ezeket a változó értékeket helyettesíti be annyiszor, ahány van belőlük ( jelen esetben 16 ), utána pedig kilép.
Hogyan lehetne ezt megoldani? Valami kis egyszerű példát tudnátok rá mutatni?
Köszönöm

#!/bin/bash
for X in $(seq 0 15) ; do
HEX=$(printf '%X\n' $X)
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_${HEX} | gzip > /tmp/DATABASE_${HEX}.sql.gz
doneA for csinálja a ciklust - ez úgy működik bashban, hogy az in után lévő lista elemeit adja szépen sorban a ciklusváltozónak (esetünkben X-nek). Ezt a listát a seq paranccsal generálom, ez annyit tud, hogy két (lebegőpontos) érték között (opcionálisan megadott lépésközzel) kiír számokat.
Mivel hexa számokat használtok, a következő sorban a decimális értékeket gyorsan át is konvertálom (a seqnak is meg lehet adni printf-stílusú formázást, de sajnos csak lebegőpontost, szóval ott ezt nem lehetett elsütni).
Ezek után nem maradt más, mint a konkrét parancs, amibe be van helyettesítve a hexa változó.
-
Fecogame
veterán
Nem tudom hogyan induljak el, egy kis (elméleti) segítséget kérnék.
Van egy scriptem, amiben nagyjából hasonló sorok vannak, összesen 16, viszont szebben szeretém megoldani:
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_0 | gzip > /tmp/DATABASE_0.sql.gz
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_1 | gzip > /tmp/DATABASE_1.sql.gz
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_2 | gzip > /tmp/DATABASE_2.sql.gz
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_3 | gzip > /tmp/DATABASE_3.sql.gz
..
..
..
mysqldump --opt -Q -u USER --password=PASSWORD DATABASE_F | gzip > /tmp/DATABASE_F.sql.gzTehát az értékek amik változnak, azok 0-9 közötti számok és a-f betűk.
Valamiféle ciklust szeretnék létrehozni, ami mindössze ezeket a változó értékeket helyettesíti be annyiszor, ahány van belőlük ( jelen esetben 16 ), utána pedig kilép.
Hogyan lehetne ezt megoldani? Valami kis egyszerű példát tudnátok rá mutatni?
Köszönöm

-
Rimuru
veterán
-
Jester01
veterán
-
Rimuru
veterán
Noob kerdes.
Adott egy function(!) amit shellbol hivok (pl bashrc-ben szerepel), hogy erdemes egyset -eszintu dolgot csinalni benne (ez azert nem jo mert kilep a shellbol is)? -
bdlackoo
tag
Sziasztok!
Linux kezdőknek topicból jövök. A problémát nem részletezném, ITT a fő probléma, ebből eddig jutottam el, erre írtam egy shell scriptet kepernyo.sh néven, ezzel a tartalommal:#!/bin/bash
sudo xrandr --output eDP1 --offEzután ment rá futtatási jog:
chmod +x kepernyo.sh
Ezek után terminálból ha elindítom, majd megadom a jelszavam akkor helyreáll a képernyős mizéria. Eddig ok, viszont azt szeretném megoldani, hogy ez lefusson indításkor, bejelentkezéskor. Na ehhez kérnék segítséget, ha lehet szájbarágósat, step-by-step módon, hogy mit tegyek. Deepin disztrót használok.
Előre is köszönöm!
0: man 5 crontab
1: crontab -l
2: @reboot sudo xrandr --output eDP1 --off
3: sudo rebootbar a disztordat nem ismerem. redhaten megy szepen.
-
Flowtation
őstag
Sziasztok!
Linux kezdőknek topicból jövök. A problémát nem részletezném, ITT a fő probléma, ebből eddig jutottam el, erre írtam egy shell scriptet kepernyo.sh néven, ezzel a tartalommal:#!/bin/bash
sudo xrandr --output eDP1 --offEzután ment rá futtatási jog:
chmod +x kepernyo.sh
Ezek után terminálból ha elindítom, majd megadom a jelszavam akkor helyreáll a képernyős mizéria. Eddig ok, viszont azt szeretném megoldani, hogy ez lefusson indításkor, bejelentkezéskor. Na ehhez kérnék segítséget, ha lehet szájbarágósat, step-by-step módon, hogy mit tegyek. Deepin disztrót használok.
Előre is köszönöm!
-
Keeperv85
nagyúr
Szia!
Bizonyára igazad lesz, de ha a fent linkelt topicban egy kissé bővebben kifejtenéd esetleg...
Ilyet még nem csináltam ugyanis. Nem tudom pl. merre vannak a saját X-es indítók... 
-
bambano
titán
Sziasztok!
Nem nagyon tudom hová illene pontosan a kérdés....

Adott egy egyszerű kis script, emez:
### BEGIN INIT INFO
# Provides: syna.sh
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
xinput --set-prop --type=int --format=32 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Pressure" 4
xinput --set-prop --type=int --format=32 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Width" 8
xinput --set-prop --type=int --format=8 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Scrolling" 1 0
exit 0Ha lefut, akkor a touchpad-ben engedélyezi a kétujjas görgetést. Manuálisan le tudom futtatni, teszi a dolgát, semmi másra nincs is szükség... de...
Betettem az init.d alá, hogy induljon el a rendszerrel, tehát csináltam egy ilyet:
sudo nano /etc/init.d/syna.sh
sudo chmod +x /etc/init.d/syna.sh
sudo update-rc.d syna.sh defaults 92Eddig úgy tűnik beállította autostartra... de nem megy. Hiába csináltam mindezt végig, minden egyes indításkor manuálisan kell futtatnom!

Légyszi segítsetek!
szerintem szépen lefut az a szkript, csak még nincs a neved alatt futó X, amit módosíthatna.
a saját X-es indítófájljaid közé kellene tenni. -
BoB
veterán
Sziasztok!
Nem nagyon tudom hová illene pontosan a kérdés....

Adott egy egyszerű kis script, emez:
### BEGIN INIT INFO
# Provides: syna.sh
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
xinput --set-prop --type=int --format=32 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Pressure" 4
xinput --set-prop --type=int --format=32 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Width" 8
xinput --set-prop --type=int --format=8 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Scrolling" 1 0
exit 0Ha lefut, akkor a touchpad-ben engedélyezi a kétujjas görgetést. Manuálisan le tudom futtatni, teszi a dolgát, semmi másra nincs is szükség... de...
Betettem az init.d alá, hogy induljon el a rendszerrel, tehát csináltam egy ilyet:
sudo nano /etc/init.d/syna.sh
sudo chmod +x /etc/init.d/syna.sh
sudo update-rc.d syna.sh defaults 92Eddig úgy tűnik beállította autostartra... de nem megy. Hiába csináltam mindezt végig, minden egyes indításkor manuálisan kell futtatnom!

Légyszi segítsetek!
-
Keeperv85
nagyúr
Sziasztok!
Nem nagyon tudom hová illene pontosan a kérdés....

Adott egy egyszerű kis script, emez:
### BEGIN INIT INFO
# Provides: syna.sh
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
xinput --set-prop --type=int --format=32 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Pressure" 4
xinput --set-prop --type=int --format=32 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Width" 8
xinput --set-prop --type=int --format=8 "SynPS/2 Synaptics TouchPad" "Synaptics Two-Finger Scrolling" 1 0
exit 0Ha lefut, akkor a touchpad-ben engedélyezi a kétujjas görgetést. Manuálisan le tudom futtatni, teszi a dolgát, semmi másra nincs is szükség... de...
Betettem az init.d alá, hogy induljon el a rendszerrel, tehát csináltam egy ilyet:
sudo nano /etc/init.d/syna.sh
sudo chmod +x /etc/init.d/syna.sh
sudo update-rc.d syna.sh defaults 92Eddig úgy tűnik beállította autostartra... de nem megy. Hiába csináltam mindezt végig, minden egyes indításkor manuálisan kell futtatnom!

Légyszi segítsetek!
-
Headless
őstag
Sziasztok!
Szükségem lenne egy scriptre. A lényege az lenne, hogy curl-al egy adott listából kiszed random 10 proxyt, és felcsatlakozik egy adott weboldalra a proxykon keresztül, de minden kapcsolat random ideig(10-30 perc) tartana. Esetleg utána újra indulna a ciklus. Ez megoldható valahogy? Ha igen tudna valaki segíteni benne? AZ alap kapcsolódás-t meg tudom oldani, de a random-time, ciklus újra indítás, proxy array, stb már mesze áll tőlem.
Mielőtt kérdezné bárki, nem botnet/ddos és társai. Valamint a saját szerveremen futó weboldalra engedném rá

Szia, én csinálnék egy scriptet ehhez hasonló tartalommal, majd azt futtatnám indításkor, vagy init.d-vel nem részletezném viszonylag bonyolult. /etc/rc.local fájlból, vagy cronból @reboot eventel.
while [ 1 = 1 ];do
#111-999 random szám
rand=$(cat /dev/urandom 2>/dev/null |tr -dc '1-9' 2>/dev/null | head -c 3)
#kb 720-1800 (12-30 perc)
sleep_time=$(($rand*12/10+600))
#1-9 random szám a proxy kiválasztásához ha nagyobb a lista akkor számolj magadnak más tartományt.
rand_proxy=$(($rand/100))
#get the proxy with curl
proxy_list=$(curl ... )
current_proxy=$(echo "$proxy_list" |head -n $rand_proxy |tail -n1)
#csatlakozz a proxyhoz.
#várjunk a következő futásra.
sleep $sleep_time
#ez kilép a végtelen ciklusból, csak tesztelésre.
#break
done -
BoB
veterán
Sziasztok!
Szükségem lenne egy scriptre. A lényege az lenne, hogy curl-al egy adott listából kiszed random 10 proxyt, és felcsatlakozik egy adott weboldalra a proxykon keresztül, de minden kapcsolat random ideig(10-30 perc) tartana. Esetleg utána újra indulna a ciklus. Ez megoldható valahogy? Ha igen tudna valaki segíteni benne? AZ alap kapcsolódás-t meg tudom oldani, de a random-time, ciklus újra indítás, proxy array, stb már mesze áll tőlem.
Mielőtt kérdezné bárki, nem botnet/ddos és társai. Valamint a saját szerveremen futó weboldalra engedném rá

Nézettséget kell növelni?

-
bucihost
senior tag
Sziasztok!
Szükségem lenne egy scriptre. A lényege az lenne, hogy curl-al egy adott listából kiszed random 10 proxyt, és felcsatlakozik egy adott weboldalra a proxykon keresztül, de minden kapcsolat random ideig(10-30 perc) tartana. Esetleg utána újra indulna a ciklus. Ez megoldható valahogy? Ha igen tudna valaki segíteni benne? AZ alap kapcsolódás-t meg tudom oldani, de a random-time, ciklus újra indítás, proxy array, stb már mesze áll tőlem.
Mielőtt kérdezné bárki, nem botnet/ddos és társai. Valamint a saját szerveremen futó weboldalra engedném rá

-
Headless
őstag
sziasztok
nem feltétlenül konkrétan scriptre volna szükségem, inkább segítsetek kitalálni egy algoritmust, amivel meg tudom oldani a következő nyűgömet. persze ha valaki azonnal ír rá nekem egy bash-scriptet, az sem zavar

adott egy mappa, így néz ki
különböző projektek korábbi verziót tartalmazza, amikor új változat készül egy projektből, akkor a korábbi az itt látott séma alapján projektnev_n+1 formában idekerül.
jellemzően az utolsó kettő változatra szokott szükség lenni, ezért a régebbieket törlöm (természetesen minden rendszeresen archiválásra kerül), az utolsó kettő itt marad.
hogyan magyarázzam el a számítógépnek, hogy ezt csinálja meg helyettem?
Szia Én valami ilyesmit gondolnék
dir="/teszt"
archive_dir="/archive"
[ -d "$archive_dir" ]||mkdir -p "$archive_dir"
ls "$dir" |sed "s/\(.*\)_[0-9]\+$/\1/" |sort|uniq |while read subdir;do
find "$dir" -maxdepth 1 -type d -iname "${subdir}_*" |sort -n|head -n-2 |while read path;do
echo "$path"
#mozgassuk át az archív mappánkba, vagy töröljük a fájlokat
mv "$path" "$archive_dir"
done
doneLehet van ennél jobb megoldás mint nested while ciklussal.
-
bambano
titán
sziasztok
nem feltétlenül konkrétan scriptre volna szükségem, inkább segítsetek kitalálni egy algoritmust, amivel meg tudom oldani a következő nyűgömet. persze ha valaki azonnal ír rá nekem egy bash-scriptet, az sem zavar

adott egy mappa, így néz ki
különböző projektek korábbi verziót tartalmazza, amikor új változat készül egy projektből, akkor a korábbi az itt látott séma alapján projektnev_n+1 formában idekerül.
jellemzően az utolsó kettő változatra szokott szükség lenni, ezért a régebbieket törlöm (természetesen minden rendszeresen archiválásra kerül), az utolsó kettő itt marad.
hogyan magyarázzam el a számítógépnek, hogy ezt csinálja meg helyettem?
le kell választani az utolsó aláhúzás+számok részt a névről és ami marad, az alapján sorbamenni, és letörölni a kettőnél nagyobb verziókat.
valahogy így:
ls -c | sed -e 's/\(.*)\(_[0-9]?)$/\1|\2/' | while IFS=\| read name version ; do
törlöd, ami a $name névcsoportban van és nem az utolsó kettő
doneszerk: nem hibátlan, fejből írtam ellenőrzés nélkül

-
vargalex
félisten
sziasztok
nem feltétlenül konkrétan scriptre volna szükségem, inkább segítsetek kitalálni egy algoritmust, amivel meg tudom oldani a következő nyűgömet. persze ha valaki azonnal ír rá nekem egy bash-scriptet, az sem zavar

adott egy mappa, így néz ki
különböző projektek korábbi verziót tartalmazza, amikor új változat készül egy projektből, akkor a korábbi az itt látott séma alapján projektnev_n+1 formában idekerül.
jellemzően az utolsó kettő változatra szokott szükség lenni, ezért a régebbieket törlöm (természetesen minden rendszeresen archiválásra kerül), az utolsó kettő itt marad.
hogyan magyarázzam el a számítógépnek, hogy ezt csinálja meg helyettem?
Tudom, nem válasz a kérdésedre, nem nem lenne jobb egy verziókezelő bevezetése?
De, hogy valami ötletet is mondjak: levágnám a könyvtárak neveiből az utolsó _-tól, majd nyomnék rá egy uniq-ot. Ekkor megvannak a projektek nevei. Majd projektenként az illeszkedő könyvtárakat sorba rendezném és a 2 legnagyobb kivételével törölném.
-
Lenry
félisten
sziasztok
nem feltétlenül konkrétan scriptre volna szükségem, inkább segítsetek kitalálni egy algoritmust, amivel meg tudom oldani a következő nyűgömet. persze ha valaki azonnal ír rá nekem egy bash-scriptet, az sem zavar

adott egy mappa, így néz ki
különböző projektek korábbi verziót tartalmazza, amikor új változat készül egy projektből, akkor a korábbi az itt látott séma alapján projektnev_n+1 formában idekerül.
jellemzően az utolsó kettő változatra szokott szükség lenni, ezért a régebbieket törlöm (természetesen minden rendszeresen archiválásra kerül), az utolsó kettő itt marad.
hogyan magyarázzam el a számítógépnek, hogy ezt csinálja meg helyettem?
-
spammer
veterán
Sziasztok!
Nem igazán értek a shell programozáshoz. Szerettem volna a whoami függvény eredményét változóba menteni, de nem ment, persze ha hegy számot akarok megadni, akkor megy. Folyton azt kapom hibánat, hogy a =: nem támogatott. Pedig ez jó:
var1 = 2
ezzel nincs baja, viszont már ezzel igen:var2 = whoami
Aztán rákerestem neten, és eval-os megoldásokat találtam, kipróbáltam, ugyanúgy csak hiba-hiba hátán, grrrr.Amihez nekem kellene segítség az csak ennyi:
echo 'alias vagrant="cd /vagrant"' | tee /home/vagrant/.bash_aliases
A vagrant helyett szeretném a whoami függvény eredményét megadni.
Ugyanis nem mindig lesz vagrant felhasználó létrehozva, valamikor más lesz a felhasználó neve.Ezt hogy lenne lehetséges?

Először is: ne tegyél szóközöket, mert az úgy nem működik.
Másodszor:
var=$(whoami)szerk: elkéstem.

-
Lacc
aktív tag
-
bambano
titán
Sziasztok!
Nem igazán értek a shell programozáshoz. Szerettem volna a whoami függvény eredményét változóba menteni, de nem ment, persze ha hegy számot akarok megadni, akkor megy. Folyton azt kapom hibánat, hogy a =: nem támogatott. Pedig ez jó:
var1 = 2
ezzel nincs baja, viszont már ezzel igen:var2 = whoami
Aztán rákerestem neten, és eval-os megoldásokat találtam, kipróbáltam, ugyanúgy csak hiba-hiba hátán, grrrr.Amihez nekem kellene segítség az csak ennyi:
echo 'alias vagrant="cd /vagrant"' | tee /home/vagrant/.bash_aliases
A vagrant helyett szeretném a whoami függvény eredményét megadni.
Ugyanis nem mindig lesz vagrant felhasználó létrehozva, valamikor más lesz a felhasználó neve.Ezt hogy lenne lehetséges?

usernev=$(whoami)
vagy
usernev=$(id -un)
-
Lacc
aktív tag
Sziasztok!
Nem igazán értek a shell programozáshoz. Szerettem volna a whoami függvény eredményét változóba menteni, de nem ment, persze ha hegy számot akarok megadni, akkor megy. Folyton azt kapom hibánat, hogy a =: nem támogatott. Pedig ez jó:
var1 = 2
ezzel nincs baja, viszont már ezzel igen:var2 = whoami
Aztán rákerestem neten, és eval-os megoldásokat találtam, kipróbáltam, ugyanúgy csak hiba-hiba hátán, grrrr.Amihez nekem kellene segítség az csak ennyi:
echo 'alias vagrant="cd /vagrant"' | tee /home/vagrant/.bash_aliases
A vagrant helyett szeretném a whoami függvény eredményét megadni.
Ugyanis nem mindig lesz vagrant felhasználó létrehozva, valamikor más lesz a felhasználó neve.Ezt hogy lenne lehetséges?

-
Mr Dini
addikt
Nagyon szépen köszönöm uraim a gyors segítséget!

@Headless
Luát webszerveren nem szeretnék futtatni, a PHP-val meg igen régen volt dolgom...
Azon gondolkozom, hogy az összes jelenlegi szkriptet átírom Perl-re... Szerintem azzal járnék a legjobban, hisz tulajdonképp az összes ilyen form adatfeldolgozás "stringműveletekből" áll. -
vargalex
félisten
Sziasztok!
Egy CGI szkript írásán dolgozom, ami természetesen bash alapú és POSTDATA-t hivatott feldolgozni. Van egy QUERY_STRING változóm, értelemszerűen ebbe kerül a Query String. Ami pedig így néz ki pl:
rsscontent=<változó szöveg>&Submit=SubmitNekem valahogy az rsscontent utáni <változó szöveg>-et kéne egy változóban megkapnom, úgy, hogy az ékezetes karakterekkel és az & jelekkel is tudjon mit kezdeni.
Olyan szempontból könnyű a dolog, hogy minden statikus, csak az rsscontent értéke nem...
Tudnátok segíteni? Köszi!

Én valami ilyesmit csinálnék:
rsscontent=$(echo -e $(echo "rsscontent=<változó szöveg>&Submit=Submit" | sed -e 's/^rsscontent=\([^&]*\)&\(.*\)/\1/' | sed 'y/+/ /; s/%/\\x/g'))Azaz, ha URL encode-olva jön, és az rsscontent tartalma pl.: "változó&szöveg":
gavarga@gavarga-e5540 ~ % rsscontent=$(echo -e $(echo "rsscontent=v%C3%A1ltoz%C3%B3%26sz%C3%B6veg&Submit=Submit" | sed -e 's/^rsscontent=\([^&]*\)&\(.*\)/\1/' | sed 'y/+/ /; s/%/\\x/g'))
gavarga@gavarga-e5540 ~ % echo $rsscontent
változó&szöveg -
bambano
titán
Sziasztok!
Egy CGI szkript írásán dolgozom, ami természetesen bash alapú és POSTDATA-t hivatott feldolgozni. Van egy QUERY_STRING változóm, értelemszerűen ebbe kerül a Query String. Ami pedig így néz ki pl:
rsscontent=<változó szöveg>&Submit=SubmitNekem valahogy az rsscontent utáni <változó szöveg>-et kéne egy változóban megkapnom, úgy, hogy az ékezetes karakterekkel és az & jelekkel is tudjon mit kezdeni.
Olyan szempontból könnyű a dolog, hogy minden statikus, csak az rsscontent értéke nem...
Tudnátok segíteni? Köszi!

nagyon balta megoldás:
kveri=$(echo $QUERY_STRING| sed -e 's/^rsscontent=//' -e 's/&Submit=Submit$//')
vagy valami ilyesmi

szerk: paraméter darabolásra szintén balta megoldás:
echo $kveri | IFS=\& read par1 par2 par3 ...
az & jelekkel elvileg nem lesz gond, mert az inputként kapott & jelet a böngésző kódolja.
-
Headless
őstag
Sziasztok!
Egy CGI szkript írásán dolgozom, ami természetesen bash alapú és POSTDATA-t hivatott feldolgozni. Van egy QUERY_STRING változóm, értelemszerűen ebbe kerül a Query String. Ami pedig így néz ki pl:
rsscontent=<változó szöveg>&Submit=SubmitNekem valahogy az rsscontent utáni <változó szöveg>-et kéne egy változóban megkapnom, úgy, hogy az ékezetes karakterekkel és az & jelekkel is tudjon mit kezdeni.
Olyan szempontból könnyű a dolog, hogy minden statikus, csak az rsscontent értéke nem...
Tudnátok segíteni? Köszi!

Ez az a pont amikor vagy váltasz valami erre használatos nyelvre (lua,php,stb). Vagy a form enctype-ját átállítod multipartra. Viszont így a változó beállítások sokszor nehezebbek lesznek, és pl az sem fog működni, amit írtam pü-ben tegnap.
<form action=… method=post enctype='multipart/form-data'>Így rendesen szeparált listát kapsz a változókról, nem csak egy urlenkódolt listát, vagyis nem & lesz a szeparátorod.
-
Mr Dini
addikt
Sziasztok!
Egy CGI szkript írásán dolgozom, ami természetesen bash alapú és POSTDATA-t hivatott feldolgozni. Van egy QUERY_STRING változóm, értelemszerűen ebbe kerül a Query String. Ami pedig így néz ki pl:
rsscontent=<változó szöveg>&Submit=SubmitNekem valahogy az rsscontent utáni <változó szöveg>-et kéne egy változóban megkapnom, úgy, hogy az ékezetes karakterekkel és az & jelekkel is tudjon mit kezdeni.
Olyan szempontból könnyű a dolog, hogy minden statikus, csak az rsscontent értéke nem...
Tudnátok segíteni? Köszi!

-
zsotesz81
senior tag
-
bambano
titán
-
zsotesz81
senior tag
ez lett a jó: +([0-9])?(.)*(0)
-
zsotesz81
senior tag
"a (.)*(0)-t nem értem" - nyugi, én sem
; csak próbálkoztam, még tanulom csak a shell scriptet 
-
bambano
titán
Sziasztok
Van egy számolós scriptem, parancssorban kérek be két számot. Amit meg szeretnék oldani, az az, hogy fogadja el a tizedespontot is amennyiben a pont után 0-k vannak csak, vagy semmi (tehát 10. = 10.0 = 10.0000 = 10)
Próbáltam valami pattern-t ('*([1-9])?(.)*(0)') írni, de ez nem jó.
Ami még kikötés, hogy csak ksh belső parancsok használhatók.
Tudnátok ebben segíteni?szerintem a patterned nem jó.
[0-9]+\.[0]*$
vagy valami ilyesmi kellene.a (.)*(0)-t nem értem, a *-ot mindig azután kell tenni, amiből többet akarsz.
a másik lehetőség, hogy a szám végéről levágod a .0* patternt, ha van ott olyan, és utána csak egész számos illeszkedést ellenőrzöl.
-
zsotesz81
senior tag
Sziasztok
Van egy számolós scriptem, parancssorban kérek be két számot. Amit meg szeretnék oldani, az az, hogy fogadja el a tizedespontot is amennyiben a pont után 0-k vannak csak, vagy semmi (tehát 10. = 10.0 = 10.0000 = 10)
Próbáltam valami pattern-t ('*([1-9])?(.)*(0)') írni, de ez nem jó.
Ami még kikötés, hogy csak ksh belső parancsok használhatók.
Tudnátok ebben segíteni? -
D@reeo
aktív tag
Sziasztok,
@Headless
/opt/log/ alatt minden (al)könyvtárból.
"miért a xarg" Hirtelen ezt találtam gugliban.
a -delete-t nem próbáltam ki, de nem tudom, hogy a logolást mennyire nehezítené meg.@bambano, köszi, utánaolvasok a teenek.
ls-lah azért ugrott be elsőnek, mer így könnyen tudom a fájlméretet is logolni.Működik így is szépen 2 külön paranccsal, csak hát szebb lenne optimalizálva futtatni

-
bambano
titán
Sziasztok
#!/bin/sh
LogDir=/opt/log
find $LogDir -name "*.bak*" -exec ls -lah {} \; >> /opt/log/log.log
find $LogDir -name "*.bak*" -type f -print0 | xargs -0 rm -fA két find helyett az első find eredményét szeretném cikklusba tenni és úgy futtatni a törlést. Tudna valaki segíteni, hogyan kellene? Köszi
logot tee-vel lehet csinálni:
find $LogDir -name '*.bak' | tee logfile | while read filenev; do rm -f "$filenev"; done
az ls -lah kimeneti formátuma nem alkalmas közvetlen törlésre.
-
Headless
őstag
Sziasztok
#!/bin/sh
LogDir=/opt/log
find $LogDir -name "*.bak*" -exec ls -lah {} \; >> /opt/log/log.log
find $LogDir -name "*.bak*" -type f -print0 | xargs -0 rm -fA két find helyett az első find eredményét szeretném cikklusba tenni és úgy futtatni a törlést. Tudna valaki segíteni, hogyan kellene? Köszi
Szia nem egészen értem mit akarsz.
find az ígyis úgyis recursive ha csak nem beállítod a -maxdepth -mindepth kapcsolókat. Másrészt miért a xarg? ha ott van a beépített delete funkció?
find "$LogDir" -name "*.bak*" -type f -deleteahh most leeesett tehet a *.bak* mappán balüli *.bak* fájlokat szeretnéd törölni?
ehhez viszont nagy kérdés hogy csak a *.bak/*.bak-et akarod törölni vagy *.bak/akarmi/*.bak-et is
amúgy én a -path szűrőt használnám... először delete nélkül futtasd, nehogy törölj valamit ami kell..
find "$LogDir" -path "*.bak/*.bak" -type f -deleteez az utóbbi verzió ami a *.bak/akármi/*.bak-ot is törli.
-
D@reeo
aktív tag
Sziasztok
#!/bin/sh
LogDir=/opt/log
find $LogDir -name "*.bak*" -exec ls -lah {} \; >> /opt/log/log.log
find $LogDir -name "*.bak*" -type f -print0 | xargs -0 rm -fA két find helyett az első find eredményét szeretném cikklusba tenni és úgy futtatni a törlést. Tudna valaki segíteni, hogyan kellene? Köszi
-
D@reeo
aktív tag
"érdemes ezen valahol csiszolni (timeout érték, ciklusba tenni, wget helyett ping/curl stb)?"
igen, nagyjából ez

a wget helyett egy icipicivel kevesebb sávszélességet használ mondjuk egy
ping -c 1 -w 1 google.com >/dev/null(ez is exit statusszal üzen, szóval utána az if maradhat)
Meg persze be lehet rakni az egészet egy ciklusba és nem cronból indítani (gondolom percenként), hanem folyamatosan futtatni és belerakni a ciklus végébe egy "sleep 1"-et és akkor már másodpercenként tudja ellenőrizni a netet.
Szia
Köszi szépen.
Átírtam, bár a sávszélesség nem játszik nagyon szerepet, otthoni net, nincs data limit.
Cikkluson gondolkodtam én is, bár az 1 seccenként való futtatás teljesen felesleges szerintem.
Most valóban 1 percenként fut a debug alatt, a későbbiekben meglátom, hogy így hagyom-e .Szép estét -
dabadab
titán
Sziasztok
Van egy vékonykliensem, ami valamiért eldobálja a netet. Hálózat van, csak a nagyvilágba nem lát ki.
Amíg nem találom meg az okát, írtam egy ilyet:#!/bin/bash
wget -q --spider http://google.com
if [ $? -eq 0 ]; then
echo "Online"
else
echo "Offline, restarting eth0 interface"
date +"%Y/%m/%d %H:%M:%S : Restarting" >> online.txt
ifconfig eth0 down && ifconfig eth0 up
fiMűködik is, megy a crontabba, a kérdésem igazából annyi lenne, hogy érdemes ezen valahol csiszolni (timeout érték, ciklusba tenni, wget helyett ping/curl stb)? Köszi
"érdemes ezen valahol csiszolni (timeout érték, ciklusba tenni, wget helyett ping/curl stb)?"
igen, nagyjából ez

a wget helyett egy icipicivel kevesebb sávszélességet használ mondjuk egy
ping -c 1 -w 1 google.com >/dev/null(ez is exit statusszal üzen, szóval utána az if maradhat)
Meg persze be lehet rakni az egészet egy ciklusba és nem cronból indítani (gondolom percenként), hanem folyamatosan futtatni és belerakni a ciklus végébe egy "sleep 1"-et és akkor már másodpercenként tudja ellenőrizni a netet.
-
D@reeo
aktív tag
Sziasztok
Van egy vékonykliensem, ami valamiért eldobálja a netet. Hálózat van, csak a nagyvilágba nem lát ki.
Amíg nem találom meg az okát, írtam egy ilyet:#!/bin/bash
wget -q --spider http://google.com
if [ $? -eq 0 ]; then
echo "Online"
else
echo "Offline, restarting eth0 interface"
date +"%Y/%m/%d %H:%M:%S : Restarting" >> online.txt
ifconfig eth0 down && ifconfig eth0 up
fiMűködik is, megy a crontabba, a kérdésem igazából annyi lenne, hogy érdemes ezen valahol csiszolni (timeout érték, ciklusba tenni, wget helyett ping/curl stb)? Köszi
-
BullZeye
veterán
"https://www.dijnet.hu/ekonto/control/szamla_search"
Ez az oldal (link), és azon belül pedig van egy legördülő választó, aminek a DIVje szlaszolgid, és abban van kb 6-7 bejegyzés ahogy a képen látható
Másnak működik, csak nekem nem, Synology DS215Jn próbálom futtatni SSHn keresztül root/admin joggal. Kell ehhez valami egyéb dolgot telepíteni?
xmllint hiányzott!
-
BullZeye
veterán
"https://www.dijnet.hu/ekonto/control/szamla_search"
Ez az oldal (link), és azon belül pedig van egy legördülő választó, aminek a DIVje szlaszolgid, és abban van kb 6-7 bejegyzés ahogy a képen látható
Másnak működik, csak nekem nem, Synology DS215Jn próbálom futtatni SSHn keresztül root/admin joggal. Kell ehhez valami egyéb dolgot telepíteni?
-
Jester01
veterán
Állítólag itt nagyobb eséllyel kapok választ

Dijnet törli számlákat, nekem viszont szükségem lenne rá, de vagy 1 év lenne letölteni egyenként mindet, és emailben konkrétan mossák kezeiket, hogy ilyen helyzetbe hozzák az embereket.
Találtam HUP-on egy megoldást, és más linux rendszerem nincs, csak Synology ds215j
Itt a Shell Script hozzá, viszont login után azt írja ki, hogy:
login... OK
query service providers... ERROR: not able to detect service providers
TerminatedVan valami tippetek, hogy miért? Linkek elméletileg jók, legalábbis amit értettem belőle, vagy kell valamit telepítenem hozzá még pluszba?

PROVIDERS=$(dijnet "control/szamla_search" | xpath '//select[@name="szlaszolgid"]/option[string-length(@value)!=0]')Gondolom nem az xpath-nak megfelelő tartalom jön vissza. Nézd meg mi a
dijnet "control/szamla_search"kimenete. -
BullZeye
veterán
Állítólag itt nagyobb eséllyel kapok választ

Dijnet törli számlákat, nekem viszont szükségem lenne rá, de vagy 1 év lenne letölteni egyenként mindet, és emailben konkrétan mossák kezeiket, hogy ilyen helyzetbe hozzák az embereket.
Találtam HUP-on egy megoldást, és más linux rendszerem nincs, csak Synology ds215j
Itt a Shell Script hozzá, viszont login után azt írja ki, hogy:
login... OK
query service providers... ERROR: not able to detect service providers
TerminatedVan valami tippetek, hogy miért? Linkek elméletileg jók, legalábbis amit értettem belőle, vagy kell valamit telepítenem hozzá még pluszba?

-
sonar
addikt
Bárhova tettem a
-lparamétert az eredmény változatlanul semmi.
Ha a $line paramétert kézzel adom meg a grep-nek szépen listázza a fileokat. Mihelyt egy ciklusba ágyazom az eredmény semmi. De ha echo $line -t még utána biggyesztem akkor az echo-s sorok megjönnek.
-
Jester01
veterán
A -l rossz helyen van. Amúgy a "grep nem eszi meg" nem egy jó hibaleírás, az ilyenért pofon jár.
-
sonar
addikt
Sziasztok,
itt a grep miért nem működik?
Ha echo-val kiiratom a line változót szépen megvan, csak a grep nem eszi meg.for line in $(cat 1.txt); do grep "$line" /sandbox/incoming/* -l ; done -
Fecogame
veterán
-
spammer
veterán
-
bambano
titán
helyesen:
$(( $(ls /masik/path | wc -l) + 1 ))
man bash:
Arithmetic Expansion Arithmetic expansion allows the evaluation of an arithmetic expression and the substitution of the result. The format for arithmetic expansion is:$((expression))ha így tagolod, akkor csinál egy parancsbehelyettesítést egy egész számra???
-
spammer
veterán
-
bambano
titán
-
spammer
veterán
Pl.:
while [ $(ls /egyik/path | wc -l) -gt $(expr $(ls /masik/path | wc -l) + 1) ]while [ $(ls /egyik/path | wc -l) -gt $((( $(ls /masik/path | wc -l) + 1 ))) ]De biztos vannak szebb megoldások is.

-
Fecogame
veterán
while [ $(ls /egyik/path | wc -l) -gt $(ls /masik/path | wc -l) ]
do
some commands
doneA vastagított rész értékéhez szeretnék hozzáadni egyet. Hova kellene beírnom, és legfőképp, hogyan?

-
emvy
félisten
-
Jester01
veterán
-
bambano
titán
-
dabadab
titán
-
Jester01
veterán
Úgy értette, hogy csak a kiterjesztés nélküliekre.
Az "általában nincs kiterjesztés" meg vicces állítás. Programfájlokon általában nincs, de minden máson jellemzően van. De ezt te is tudod.

-
bambano
titán
x=/mnt/sdc10/home/iras/*
szerintem ez lesz a rossz. A kiterjesztés nélküli file-kre nem jó a "*". Így a mappák is (sőt még az almappák is!) benne vannak.
Hogyan kellene, azt nem tudom, írtam a linux-os topicba, valaki csak tudja.A "set-x" -es próbálgatom más scripteknél is. Nem tudtam, hogy van ilyen.

"A kiterjesztés nélküli file-kre nem jó a "*".": miért ne lenne jó? a linuxon általában nincs kiterjesztés, szóval ne lenne jó az esetek többségére?
-
prucam
tag
Köszi mindenkinek a segítséget!
Végül is ezt sikrült "fabrikálni":
find . -maxdepth 1 -type f ! -name "*.*"
üdv
-
Headless
őstag
x=/mnt/sdc10/home/iras/*
szerintem ez lesz a rossz. A kiterjesztés nélküli file-kre nem jó a "*". Így a mappák is (sőt még az almappák is!) benne vannak.
Hogyan kellene, azt nem tudom, írtam a linux-os topicba, valaki csak tudja.A "set-x" -es próbálgatom más scripteknél is. Nem tudtam, hogy van ilyen.

Hát vagy find-al keresed meg és futtatod amit kell
find $x -type f -exec ....vagy
a meglévő for ciklusba teszel egy ellenörzést hogy fájl-e...
valahogy ígyif [ -f "$file" ];then
echo "file"
fiha van printf parancsod, akkor megfelelő számú szóközt tudsz csinálni valahogy így. azt meg kicserélheted #-re de szerintem nem éri meg, lehet van jobb megoldás is.
printf "%33s" |sed "/ /#/g" -
prucam
tag
x=/mnt/sdc10/home/iras/*
szerintem ez lesz a rossz. A kiterjesztés nélküli file-kre nem jó a "*". Így a mappák is (sőt még az almappák is!) benne vannak.
Hogyan kellene, azt nem tudom, írtam a linux-os topicba, valaki csak tudja.A "set-x" -es próbálgatom más scripteknél is. Nem tudtam, hogy van ilyen.

-
bambano
titán
ha beírod az elejére, hogy set -x, akkor debug módban fut és többet lehet tudni róla, hogy mit csinál.
-
prucam
tag
Csináltam egy új mappát, s bemásoltam oda a file-ket, s tényleg nem volt semmi hibaüzi.
Nekem mindig lesz, ez van…Az "if" az kell, mert olyan script-be lesz ami minden nap "fut".
üdv
-
bambano
titán
Sziasztok,
most csinálok éppen egy egyszerű scriptet, ami hétfőnkét egy adott sort beszúr minden file-be.
#!/bin/bash
n1=`date +"%A"`
n2=hétfő
c=`date +"%V"`
n=`date +"%A"`
x=/mnt/sdc10/home/iras/*
if [ "$n1" = "$n2" ]; then
for i in $x;
do
echo "$c. $n #############################################" >> $i;
done
else
echo "Nem hétfő van!"
fi
exitMiután lefut ezt az üzit irja ki:
"./3_mi_a_neved: line 10: /mnt/sdc10/home/iras/: Is a directory"
Hogyan kellene javítani?
Az "iras" mappában csak kiterjesztés nélküli fájlok vannak.
A sok "#" karaktert hogyan lehetne rövidebben írni? (pl. 33#)
üdv
felejtsd el ezt a hétfő ellenőrizgetést.
nem az a jó módszer, hogy elindítod minden nap, és megnézed, hétfő van-e, hanem az, hogy csak hétfőn indítod el.a hozzáfűzés meg lehet, hogy azért nem megy, mert könyvtár vagy könyvtárra mutató link is van az írásos könyvtárakban.
-
prucam
tag
Sziasztok,
most csinálok éppen egy egyszerű scriptet, ami hétfőnkét egy adott sort beszúr minden file-be.
#!/bin/bash
n1=`date +"%A"`
n2=hétfő
c=`date +"%V"`
n=`date +"%A"`
x=/mnt/sdc10/home/iras/*
if [ "$n1" = "$n2" ]; then
for i in $x;
do
echo "$c. $n #############################################" >> $i;
done
else
echo "Nem hétfő van!"
fi
exitMiután lefut ezt az üzit irja ki:
"./3_mi_a_neved: line 10: /mnt/sdc10/home/iras/: Is a directory"
Hogyan kellene javítani?
Az "iras" mappában csak kiterjesztés nélküli fájlok vannak.
A sok "#" karaktert hogyan lehetne rövidebben írni? (pl. 33#)
üdv
-
Keeperv85
nagyúr
-
Jester01
veterán
Na, kipróbáltam. Ez szerintem jó lesz:
find . -depth -mindepth 2 \( -type f \! -path '*/res/values/*' -o -type d -empty \) -delete -
Keeperv85
nagyúr
-
Jester01
veterán
Ez így azért nem jó, mert a könyvtárak nem üresek. 3 fájl után így néz ki a tree:
├── agnes_service
│ ├── AndroidManifest.xml
│ ├── apktool.yml
│ ├── classes.dex
│ ├── original
│ │ ├── AndroidManifest.xml
│ │ └── META-INF
│ │ ├── CERT.RSA
│ │ ├── CERT.SF
│ │ └── MANIFEST.MF
│ ├── res
│ │ ├── drawable-hdpi-v4
│ │ │ └── ic_launcher.png
│ │ ├── drawable-ldpi-v4
│ │ │ └── ic_launcher.png
│ │ ├── drawable-mdpi-v4
│ │ │ └── ic_launcher.png
│ │ ├── drawable-xhdpi-v4
│ │ │ └── ic_launcher.png
│ │ ├── layout
│ │ │ └── main.xml
│ │ └── values
│ │ ├── public.xml
│ │ └── strings.xml
│ └── unknown
│ ├── AUTHORS
│ ├── changelog.txt
│ ├── com
│ │ └── letv
│ │ └── agnes
│ │ └── core
│ │ └── agnes.properties
│ ├── LICENSE
│ ├── lombok
│ │ └── installer
│ │ ├── eclipse
│ │ │ ├── eclipse.png
│ │ │ ├── jbds.png
│ │ │ └── STS.png
│ │ ├── loading.gif
│ │ ├── lombokIcon.png
│ │ ├── lombok.png
│ │ ├── lombok.svg
│ │ ├── lombokText.png
│ │ ├── lombokText.svg
│ │ ├── WindowsDriveInfo-i386.dll
│ │ └── WindowsDriveInfo-x86_64.dll
│ └── release-timestamp.txt
├── AntHalService
│ ├── AndroidManifest.xml
│ ├── apktool.yml
│ ├── original
│ │ ├── AndroidManifest.xml
│ │ └── META-INF
│ │ ├── CERT.RSA
│ │ ├── CERT.SF
│ │ └── MANIFEST.MF
│ └── res
│ ├── drawable
│ │ └── icon.png
│ └── values
│ ├── public.xml
│ └── strings.xml
└── ApplicationsProvider
├── AndroidManifest.xml
├── apktool.yml
├── original
│ ├── AndroidManifest.xml
│ └── META-INF
│ ├── CERT.RSA
│ ├── CERT.SF
│ └── MANIFEST.MF
└── res
├── drawable
│ └── default_app_icon.png
├── drawable-mdpi-v4
│ └── default_app_icon.png
├── layout
│ └── application_list_item.xml
├── values
│ ├── ids.xml
│ ├── public.xml
│ └── strings.xml
├── values-en-rUS
│ └── strings.xml
├── values-hu
│ └── strings.xml
├── values-zh-rCN
│ └── strings.xml
├── values-zh-rHK
│ └── strings.xml
├── values-zh-rTW
│ └── strings.xml
└── xml
└── searchable.xmlNekem csak a fökönyvtár/res/values/fájlok tartalom kell megmaradjon, de a főkönyvtárakkal együtt. A többit szanálnám, hogy a meld pl. ne olvassa össze a másik ilyen fával. Ott vannak a strings.xml-ek, azoknak a frissítéseit kéne elvégezzem most csak.
Nem próbáltam, azt mondod, a
-deletenem törli a nem üres könyvtárat? Akkor cseréld le:-exec rm -r {} +
Új hozzászólás Aktív témák
-
2300 - 2201
2923 - 2901 2900 - 2801 2800 - 2701 2700 - 2601 2600 - 2501 2500 - 2401 2400 - 2301 2300 - 2201 2200 - 2101 2100 - 2001 2000 - 1901 1900 - 1801 1800 - 1701 1700 - 1601 1600 - 1501 1500 - 1401 1400 - 1301 1300 - 1201 1200 - 1101 1100 - 1001 1000 - 901 900 - 801 800 - 701 700 - 601 600 - 501 500 - 401 400 - 301 300 - 201 200 - 101 100 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- VR topik
- Eredeti játékok OFF topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Projektor topic
- Samsung Galaxy A54 - türelemjáték
- PROHARDVER! feedback: bugok, problémák, ötletek
- Samsung Galaxy S26 Ultra - fontossági sorrend
- HP nyomtatók
- További aktív témák...
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Microsoft és egyéb dobozos és OEM szoftverek
- MS SQL Server 2016, 2017, 2019
- ÚJ AKKU! Ár/ÉRTÉK BAJNOK! Dell Latitude 5330 i3-1215U 6mag! 16GB 512GB 13.3" FHD 1 év gar
- Motorola Edge 40 / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- iKing.Hu - Apple MacBook Pro 16 M1 Pro (2021) 32GB/512GB karcmentes 91% akku 188 ciklus
- Dell Precision 5560 i7 32GB RAM 512GB SSD NVIDIA RTX A2000 FHD+
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
, de változott a terv








Ezzel együtt még mindig bőven több a hagyományos kiterjesztéssel rendelkező fájl.

