Hirdetés
- Meggyi001: A kérdés...
- oriic: A TOP 10 legtöbb hozzászólással rendelkező PH! felhasználó
- Luck Dragon: Asszociációs játék. :)
- Trewerr: Analóg-digitális jelátalakítás (zenefájlok leegyszerűsítésével magyarázva)
- Lalikiraly: Astra kalandok @ Negyedik rész
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Lalikiraly: Kaáli Autó-Motor Múzeum
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
Új hozzászólás Aktív témák
-
-
-
Jester01
veterán
Nem kell az extra idézőjelezés (a \"). Az a lényeg, hogy az rsync egyben kapja meg de azon belül már nem kell idézőjel mert akkor az egészet programnévnek akarja értelmezni.
rsync -avh -e "${SSH_CMD} -p ${SCP_PORT} -i ${SCP_KEYFILE}" . "${SCP_USER}@${SCP_HOST}:${SCP_PATH}/${LVM_BACKUP_LOGICAL_VOLUME}-${DATE_TIME}/"
Illetve ha nagyon pedáns akarsz lenni és attól félsz, hogy itt-ott lehet szóköz akkor az egyes argumentumok köré tehetsz idézőjelet (persze akkor már azt is kezelni kellene, ha esetleg idézőjel van benne ... can of worms)
rsync -avh -e "\"${SSH_CMD}\" -p \"${SCP_PORT}\" -i \"${SCP_KEYFILE}\"" . "${SCP_USER}@${SCP_HOST}:${SCP_PATH}/${LVM_BACKUP_LOGICAL_VOLUME}-${DATE_TIME}/"
-
Jester01
veterán
Mivel while true van, ezért a script végén lévő 3 sor sosem fog lefutni. Javaslom tedd trap handlerbe.Ettől eltekintve a célnak megfelel.
Ha nagyon kötözködni akarnék, akkor:
1) az echo "" sorban felesleges a ""
2) The command substitution $(cat file) can be replaced by the equivalent but faster $(< file). (forrás: man bash)
3) az if-elif-elif helyett lehetne valami adatvezérelt megoldás. -
rt06
veterán
-
bash man:
{ list; } list is simply executed in the current shell environment. list must be terminated with a newline or semicolon. This is known as a group command. The return status is the exit status of list. Note that unlike the metacharacters ( and ), { and } are reserved words and must occur where a reserved word is permitted to be recognized. Since they do not cause a word break, they must be separated from list by whitespace or another shell metacharacter.
-
szerintem a zárójeles kifejezéseket subshellben hajtja végre, az lép csak ki.
én a parancs || echo "xsfgkjf" && exit 1 formát próbálnám, az echo mindig igaz értékkel tér vissza.
a manból:
"Of these list operators, && and ⎪⎪ have equal precedence, followed by ; and &, which have equal precedence."
vagy lehet még azt is, hogy:
parancs || echo bajvan
[ -f letoltottfile ] || exit 1 -
"The shell allows arithmetic expressions to be evaluated, under certain circumstances (see the let and declare builtin commands and Arithmetic Expansion). Evaluation is done in fixed-width integers with no check for overflow, though division by 0 is trapped and flagged as an error. "
szóval bashban sehogy. de ha felrakod a bc-t, akkor azzal egyszerűen lehet
cpu_total=$(echo -n "scale=3; $cpu_total + $cpu " | bc -l)
valahogy így, de nem próbáltam ki.
Új hozzászólás Aktív témák
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600X / GTX 1080Ti / 16GB DDR4 / 512 SSD
- BESZÁMÍTÁS! ASRock B450 R5 5600X 16GB DDR4 512GB SSD RTX 3060 12GB Zalman Z1 Plus Cooler Master 750W
- ÚJ OMEN Transcend 14 - 14"2.8K OLED 120Hz - Ultra 7 155H - 16GB - 1TB - RTX 4060 - Win11 - 3 év gari
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen, MS3693, 100% Akksi
- MS SQL Server 2016, 2017, 2019
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


Valószínűleg nem éri meg a fáradságot 

