Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Elektromos rásegítésű kerékpárok
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
- hcl: Olympus E-PL1 nyomozás
- Doky586: SecureBoot kulcsok frissítése (2026 nyara)
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- ldave: New Game Blitz - 2026
- MasterDeeJay: ASRock B250M Pro4 coffeetime mod! (DDR4)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
szoke12
#1430
üzenetére
Ez egy négyzetes megoldás, ha már ciklust akarsz akkor miért nem egyszer mész végig a kimeneten?
Mi van ha időközben megváltozik a fájllista?
Directoryk méretét kell nézni?sum=0
for x in $(find . -maxdepth 1 -type f -printf '%s\n')
do
sum=$((sum + x))
done
echo $sum-vagy-
(find . -maxdepth 1 -type f -printf '%s+'; echo 0) | bc
ls használatával is lehet hasonlót, plusz nyilván a du még mindig erre való.
-
Jester01
veterán
válasz
szoke12
#1373
üzenetére
bash specifikus megoldás arra az esetre ha mindenképp van az elején nulla vagy ha kell az elejére nulla akkor is ha nincs:
$ shopt extglob
extglob on
$ x=123
$ echo 0${x##+(0)}
0123
$ x=0123
$ echo 0${x##+(0)}
0123
$ x=00123
$ echo 0${x##+(0)}
0123
$ x=000123
$ echo 0${x##+(0)}
0123
$ x=12003
$ echo 0${x##+(0)}
012003Szabványos megoldás:
case "$1" in
0*)
echo -n 0
expr substr "$1" \( index "$1" 123456789 \) \( length "$1" \)
;;
*)
echo "$1"
;;
esac -
buherton
őstag
válasz
szoke12
#1362
üzenetére
Én perl-t hivogatnék bash-ból, és IPC-t használnék.
-
bambano
titán
válasz
szoke12
#1360
üzenetére
alapvetően sehogy, mert amit másik futtatási környezet futtat, azt nem látja.
megkerülni úgy lehet, hogy a deklarációkat egy fájlba teszed, és ponttal beolvasod oda, ahol szintén szükséges.
tehát így:#! /bin/bash
. valtozok.sh
másik megoldás, hogy a változót exportálod a futtatási környezetbe, így a belőle indított al-shellek is látni fogják. a bash manual olvasgatása javasolt az export utasítás környékén. de ez még mindig nem teljes megoldás.
-
válasz
szoke12
#1270
üzenetére
Az ==, amit hasznalsz, az igazan stringek osszehasonlitasara van, neked meg szamokat kell osszehasonlitanod, arra mas operatorok vannak, az egyenloseg:
if [ $NUM -eq 10 ] ; then
A komplett sor: -lt, -le, -eq, -ge, -gt (kisebb, kisebbegyenlo, egyenlo, nagyobbegyenlo, nagyobb)
vagyis ami neked kell az az, hogy
if [ $NUM -le 10 ] ; then
Új hozzászólás Aktív témák
Hirdetés
- Motorola Edge 40 / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- BESZÁMÍTÁS! Asus TUF VP249QGR FHD IPS 144Hz 1ms monitor garanciával hibátlan működéssel
- Apple iPhone 14 Plus 128GB, Kártyafüggetlen, 1 Év Garanciával
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C Dock Gen2 (akár 3x4K felbontás)
- 233 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

