Ú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.
-
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
- Újszerű Acer Aspire A515 - 15.6"FHD IPS - i5-1335U - 16GB - 512GB SSD - Win11
- Xiaomi 14T Pro 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 15 Pro - Black Titanium - 128GB - Akku: 87% - Megkímélt állapot!
- Bomba ár! HP EliteBook 820 G2 - i5-5GEN I 8GB I 256GB SSD I 12,5" FHD I Cam I W10 I Garancia!
- 200db SZETT! REFURBISHED - DELL Docking Station WD19S + 130W töltő
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


