- Hívószám-hamisítás
- Magisk
- One mobilszolgáltatások
- iPhone topik
- Íme az új Android Auto!
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy Fit 3 - keveset, de jól
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
Új hozzászólás Aktív témák
-
Jester01
veterán
8 bites bináris számot kellene kiírni (rajzolni) csillag és szóköz formában bash beépített dolgok használatával. Jelenleg ez van:
for((i = 128; i != 0; i >>= 1))
do
[[ $((x & i)) != 0 ]] && echo -n '*' || echo -n ' '
done
Viszont nem tetszik, hogy duplán van benne az echo.
Létezik ugyan ?: operátor de az csak számokra működik pedig egy x & i ? '*' : ' ' pont tökéletes lenne. Lehetne indexelni stringet vagy tömböt, de ezeket előzőleg definiálni kell, pl.:chars=' *'
echo -n "${chars:$(((x & i)?1:0)):1}"
Egyéb ötlet?
Ui.: jót nevettem amikor a script másik részében leírtam, hogy ${rom##*!!?} Ránézésre ki hinné el, hogy ennek van értelme
-
Jester01
veterán
Na de mivel jobb a screen mint ha egyszerűen háttérben futtatod? Csak fölösleges erőforrás pazarlás.
-
Jester01
veterán
válasz
Hege1234 #2653 üzenetére
Szerencse, hogy stringeket tetszőlegesen össze lehet fűzni.
echo 'foo${bar}'"${bar}"'baz'
Az elsőt nem bontja ki a másodikat igen.Tehát a paraméter előtt szépen teszel egy idézőjelet majd bezárod az aposztrófot. Majd idézőjelbe beírod a változódat, majd visszanyitod az aposztrófot, beteszed a záró idézőjelet és minden mehet tovább.
Ha azt a 2 sort már betetted változókba mondjuk $url és $pos akkor
curl -s "http://kodi:kodi@192.168.1.10:8080/jsonrpc?Base" -H 'Content-Type: application/json' --data '{"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file":"'"${url}"'"},"options":{"resume":'"${pos}"'}}}'
-
Jester01
veterán
válasz
tordaitibi #2562 üzenetére
Ugye van 2 függvény, a wait az simán vár 10 másodpercig, a monitor pedig lekérdezi a monitor állapotát. A főprogram először addig pörög amíg a monitor be van kapcsolva. Megnézi az állapotot, vár 10 másodpercet, megint megnézi és így tovább. Ha egyszer kikapcsoltnak látja a monitort átlép a második részbe ami hasonlóan működik de arra vár, hogy visszakapcsoljon a monitor. Ekkor lefut az általad adott parancs és kezdődik minden előlről.
-
Jester01
veterán
válasz
tordaitibi #2558 üzenetére
Nálam jó. Nem tudom mi lehet. Tegyél be valami echo OK-t a wait függvénybe, azt 10 másodpercenként kellene kiírni. Esetleg próbáld ki simán parancssorban hogy sleep 10 && echo OK annak 10 másodperc után kell megjelennie. Lehet, hogy a sleep nálad nem úgy működik
-
Jester01
veterán
válasz
tordaitibi #2556 üzenetére
Elvileg a sleep 10 miatt 10 másodpercig vár, szóval nem pörgetheti a procit. Lehet hogy a te shelled nem szereti a wait nevet (mivel az egy beépített parancs is). Nevezd át valamire.
-
Jester01
veterán
válasz
tordaitibi #2553 üzenetére
#! /bin/bash
function wait
{
sleep 10
}
function monitor
{
xset q | grep -q "Monitor is On"
}
while true
do
while monitor
do
wait
done
while ! monitor
do
wait
done
pactl set-card-profile 0 output:hdmi-stereo
done
-
Jester01
veterán
-
Jester01
veterán
válasz
bambano #2481 üzenetére
Nem egészen értem mire gondolsz, de rsync always verifies that each transferred file was correctly reconstructed on the receiving side by checking a whole-file checksum that is generated as the file is transferred Szóval pont azt csinálja amire te egy külön programot javasolsz
samujózsi: az egész folyamatról az exit code ad visszajelzést, de egyes fájlokról valóban csak a logból lesz információd.
EXIT VALUES
23 Partial transfer due to error
24 Partial transfer due to vanished source files -
Jester01
veterán
válasz
Jester01 #2470 üzenetére
Alapállapot:
$ tar cvf /dev/null Dokumentumok/
Dokumentumok/
Dokumentumok/Outlook f\341jlok/
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_18 10_17_59 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_19 06_24_12 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_13 13_26_02 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_16 07_03_14 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_20 10_31_00 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_19 09_25_18 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_13 10_21_47 UTC).pst
Összes 2019_09_19 kihagyása wildcarddal:
$ tar cvf /dev/null --exclude 'T?rolt ?zenetek 2017 (2019_09_19*' Dokumentumok/
Dokumentumok/
Dokumentumok/Outlook f\341jlok/
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_18 10_17_59 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_13 13_26_02 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_16 07_03_14 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_20 10_31_00 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_13 10_21_47 UTC).pst
Ugyanez egyesével, fájllistával:
$ printf 'T\341rolt \374zenetek 2017 (2019_09_19 06_24_12 UTC).pst\nT\341rolt \374zenetek 2017 (2019_09_19 09_25_18 UTC).pst\n' > exclude.lst
$ tar cvf /dev/null --no-wildcards -X exclude.lst Dokumentumok/
Dokumentumok/
Dokumentumok/Outlook f\341jlok/
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_18 10_17_59 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_13 13_26_02 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_16 07_03_14 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_20 10_31_00 UTC).pst
Dokumentumok/Outlook f\341jlok/T\341rolt \374zenetek 2017 (2019_09_13 10_21_47 UTC).pst
-
Jester01
veterán
válasz
Kékes525 #2456 üzenetére
Szerintem a PH! interaktív fórumrészben nézelődj.
-
Jester01
veterán
válasz
Victor Súgó #2409 üzenetére
Nosztalgiázok ... de ettől még meg lehet
-
Jester01
veterán
válasz
jani-wan #2362 üzenetére
Mivel senki nem mutatta eddig meg, itt van a batch programozás topik.
-
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.
-
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.
-
Jester01
veterán
válasz
DrojDtroll #2175 üzenetére
A tiéd, hiszen látod a halom eredményt. Meg a neve is scan. Az arping meg pontosan azt az egyet fogja amit megadsz neki. Hogy ez érdekel-e téged azt nem tudom
-
Jester01
veterán
válasz
DrojDtroll #2171 üzenetére
Vagy arping (persze a kibányászást nem úszod meg, de nem kell mindenkit végigpingelni)
-
Jester01
veterán
válasz
DrojDtroll #2117 üzenetére
Nyilván lehet, de azért ez eléggé pontatlan specifikáció.
-
Jester01
veterán
Erre tessék: batch programozás
-
Jester01
veterán
válasz
bambano #2096 üzenetére
Ja hát nem tudtam, hogy a break az nem számít "össze-vissza ugrálsz"-nak
Ez meg: "while wget akarmi || true" éppenséggel pont ugyanolyan végtelen ciklus mint amit leköpködtél, a kilépési feltétel itt sem a while-ban van.Ennél:
while wget akarmi || true
doszerintem ez
while true
do
wget akarmiegyszerűbb és olvashatóbb. Főleg, ha ott nem csak 1 wget van, hanem valami bonyolultabb.
-
Jester01
veterán
válasz
bambano #2089 üzenetére
Szerintem az most bonyolultabbra jönne ki, mivel kétszer kellene ellenőrizni a méretet vagy az elején is lenne várakozás.
size=0
while [ $size -lt 40894464 -o $size -gt 45088768 ]
do
# letoltes
# ...
size=$(stat -c \%s foo)
if [ $size -lt 40894464 -o $size -gt 45088768 ]
then
# hiba, varj 10 percet
sleep 10m
fi
done
# csinald meg amit kell
# ...Vagy
first=1
size=0
while [ $size -lt 40894464 -o $size -gt 45088768 ]
do
if [ $first -eq 0 ]
then
# hiba, varj 10 percet
sleep 10m
fi
first=0
# letoltes
# ...
size=$(stat -c \%s foo)
done
# csinald meg amit kell
# ...Vagy a letöltést lehet duplikálni:
# letoltes
# ...
size=$(stat -c \%s foo)
while [ $size -lt 40894464 -o $size -gt 45088768 ]
do
# hiba, varj 10 percet
sleep 10m
size=$(stat -c \%s foo)
# letoltes
# ...
size=$(stat -c \%s foo)
done
# csinald meg amit kell
# ...Szerintem ezek rondábbak. Más ötlet?
-
Jester01
veterán
Biztos, de most nem tudom mire gondolsz.
-
Jester01
veterán
-
Jester01
veterán
És hol akadtál el?
#! /bin/bash
while read net mask start end
do
if [ $net = Netz ]
then
continue
fi
echo -n $net
ping -n -c 1 $start >/dev/null 2>&1
pstart=$?
ping -n -c 1 $end >/dev/null 2>&1
pend=$?
if [ $pstart -eq 0 -o $pend -eq 0 ]
then
echo " Active"
else
echo " Not active"
fi
done -
Jester01
veterán
bash verzió:
for file
do
f=0
exec 3< "$file"
while read -u3 line
do
[[ "$line" =~ egy ]] && f=$((f | 1))
[[ "$line" =~ ketto ]] && f=$((f | 2))
done
exec 3<&-
[[ $f == 3 ]] && echo "$file"
done -
Jester01
veterán
válasz
spammer #2060 üzenetére
Egysorosnak nem egysoros de egy parancs és egyszer olvassa a fájlokat:
awk '
BEGINFILE { f = 0 }
/egy/ { if (f % 2 < 1) f += 1; }
/ketto/ { if (f % 4 < 2) f += 2; }
ENDFILE { if (f == 3) print FILENAME }
'GNU awk-ban van or() függvény azzal:
awk '
BEGINFILE { f = 0 }
/egy/ { f = or(f, 1) }
/ketto/ { f = or(f, 2) }
ENDFILE { if (f == 3) print FILENAME }
' -
Jester01
veterán
válasz
Fecogame #2042 üzenetére
Már mondtam, ez a normális script működés, hogy megvárja a parancs végét.
Ha maga a parancs visszatér mielőtt végezne az erősen gyanús és az ellen közvetlenül nem tudsz semmit csinálni a script oldalán. Szerintem ott valami más probléma van, a mysql dump szinte kizárt, hogy visszatér mielőtt kész lenne. De nem mutattad meg a parancsot... -
Jester01
veterán
válasz
Dadi207 #2001 üzenetére
A közhiedelemmel ellentétben az ls cm*NIGHTLY-bacon.zip parancsban a *-ot nem az ls oldja fel, hanem még a shell. Jelen esetben amikor ez történik, akkor még nem futott le a cd $CMU ezért nem talál illeszkedő fájlokat, így beállítástól függően vagy törli az argumentumot vagy pedig változatlanul adja át. Előbbi esetben az ls kimenete a $CMU teljes tartalma lesz, utóbbi esetben pedig semmi, mivel az ls maga már nem kezeli le a *-ot ezért betű szerint azt a fájlt keresi, hogy cm*NIGHTLY-bacon.zip (így, a csillaggal).
-
Jester01
veterán
válasz
Headless #1998 üzenetére
A ciklust akkor dolgozza fel lassan, ha van benne valami lassú. A tiéd tele van külső program indítással (cut, grep, wc, sed) az enyém mind beépített ... garantáltan nagyságrendekkel gyorsabb. Ha nincs bash (vagy kompatibilis) akkor persze mindegy. A kimenet meg úgy néz ki ahogy először kérted
-
Jester01
veterán
válasz
Headless #1992 üzenetére
Tiszta bash megoldás, ami csak egyszer olvassa be a sorokat és semmilyen külső programot nem hív:
#!/bin/bash
declare -a stats
while read line
do
field=${line%;*}
field=${field##*;}
stats[$field]=$((stats[$field] + 1))
done
for field in ${!stats[@]}
do
echo "[$field,$((-100-${stats[$field]}))"
doneJa, ha a nullákat is ki kell írni, akkor simán a számokon kell iterálni, nem a tömbön:
for ((field=0;field<14;field+=1))
do
echo "[$field,$((-100-${stats[$field]:-0}))"
done -
Jester01
veterán
Illetve ha csak kicsi hiányzik akkor ott a zram azzal lehet 2 helyett 3GB.
-
Jester01
veterán
válasz
BullZeye #1897 üzenetére
Azért nem jó, mert rosszul csináltad a logikai kifejezést
Mikor nem kell mozgatni?
Ha MORNING_SHOW vagy FAIRY_TAIL vagy NARUTOMikor kell odébbmozgatni?
Ha nem MORNING_SHOW és nem FAIRY_TAIL és nem NARUTOTehát a || &&-re cserélendő.
Lásd még De Morgan átalakítás. -
-
Jester01
veterán
válasz
bambano #1828 üzenetére
Nem, inkább valami rendes ciklusra. Ezek ugyanis elvileg először legyártják az egész listát és utána mennek végig rajta. Ilyen 16 meg 60 elemű listánál persze mindegy.
A másik amibe sokkal inkább bele lehet kötni, hogy 15:59-től számol vissza nem 15:00-tól
mins=15
secs=0
while [[ $mins -ge 0 ]]
do
printf "00:%02d:%02d\n" $mins $secs
sleep 1
secs=$((secs - 1))
if [[ $secs -lt 0 ]]
then
secs=59
mins=$((mins - 1))
fi
done
Új hozzászólás Aktív témák
Hirdetés
- Hívószám-hamisítás
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- One otthoni szolgáltatások (TV, internet, telefon)
- Sütés, főzés és konyhai praktikák
- Végleg lenyomta a tévét a streaming az USA-ban
- NBA és kosárlabda topic
- Viccrovat
- Pokoli repetát hoz az új GeForce driver
- SSD kibeszélő
- További aktív témák...
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged