Új hozzászólás Aktív témák
-
Headless
őstag
válasz
anorche1 #2299 üzenetére
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
válasz
anorche1 #2297 üzenetére
(#2298) colomb2 köszi
, de változott a terv
Debian 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?
-
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
válasz
SteveBeard #2295 üzenetére
Az echo-nak működnie kell akár cron script akár nem. Ott valami más gubanc van.
-
SteveBeard
senior tag
-
Jester01
veterán
válasz
SteveBeard #2293 üzenetére
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/value
kikapcsolásecho 1 > /sys/class/gpio/gpio21/value
bekapcsolásEnnél is szebb lenne, ha csak maga a modem indulna újra.
Erre is találtam egy fél megoldást:screen /dev/ttyUSB1
AT^RESET
enter é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
válasz
Killerlaca #2291 üzenetére
megvan :-)
-
Killerlaca
senior tag
válasz
Killerlaca #2290 üzenetére
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
-
dabadab
titán
válasz
Killerlaca #2288 üzenetére
"É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?
-
-
dabadab
titán
válasz
Killerlaca #2286 üzenetére
"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
-
-
válasz
dabadab #2281 üzenetére
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
-
-
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?
-
dabadab
titán
válasz
Fecogame #2272 üzenetére
#!/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ó.
-
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
Noob kerdes.
Adott egy function(!) amit shellbol hivok (pl bashrc-ben szerepel), hogy erdemes egyset -e
szintu dolgot csinalni benne (ez azert nem jo mert kilep a shellbol is)? -
bdlackoo
tag
válasz
Flowtation #2267 üzenetére
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!
-
iceool20
tag
Megoldottam
-
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!
-
Érdekesség:
-
Headless
őstag
válasz
bucihost #2258 üzenetére
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 -
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
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
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
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.
-
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?
-
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?
-
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
válasz
Mr Dini #2245 üzenetére
É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
válasz
Mr Dini #2245 üzenetére
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
válasz
Mr Dini #2245 üzenetére
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.
-
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=Submit
Nekem 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!
-
bambano
titán
válasz
zsotesz81 #2239 üzenetére
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
válasz
bambano #2237 üzenetére
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
-
Headless
őstag
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 -delete
ahh 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 -delete
ez 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
válasz
dabadab #2233 üzenetére
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
"é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
válasz
Jester01 #2229 üzenetére
"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?
-
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
-
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
-
bambano
titán
válasz
spammer #2221 üzenetére
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???
-
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?
-
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
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
válasz
bambano #2208 üzenetére
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
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
Új hozzászólás Aktív témák
Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Kezdő fotósok digitális fényképei
- Házimozi belépő szinten
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- OLED TV topic
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Vivo X200 Pro - a kétszázát!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Kerékpárosok, bringások ide!
- Nyíregyháza és környéke adok-veszek-beszélgetek
- További aktív témák...
- Assassin's Creed Shadows Collector's Edition PC
- Eladó Steam kulcsok kedvező áron!
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- ÁRCSÖKKENTÉS LG 24" full HD LED IPS monitor (HDMI, DSUB, jack) eladó
- AKCIÓ! Lenovo Thinkpad P15 Gen1 15 FHD notebook - i7 10750H 16GB RAM 512GB SSD Quadro T1000 W11
- AKCIÓ! Gigabyte B85-HD3 B85 chipset alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! GIGABYTE AORUS MASTER RTX 3070 8GB GDDR6 videokártya garanciával hibátlan működéssel
- AKCIÓ! Apple Macbook Pro 15" 2018 i9 9850HK 32GB 500GB 560X 4GB garanciával hibátlan működéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest