Ú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
-
bambano
titá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.
-
bambano
titán
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 -
bambano
titán
"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
- Xbox tulajok OFF topicja
- Battlefield 6
- Milyen okostelefont vegyek?
- OLED monitor topic
- Samsung Galaxy Felhasználók OFF topicja
- Alkoholista nevelde
- 18. helyet ért a Samsung Galaxy S26 Ultra kamerarendszere a DxOMarknál
- exHWSW - Értünk mindenhez IS
- Gumi és felni topik
- Allegro vélemények - tapasztalatok
- További aktív témák...
- The Elder Scrolls Online Imperial Collector s Edition
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Fallout 4 Pip-Boy Edition eladó
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- ÚJ Lenovo LOQ 15AHP10 - 15.6"FHD 144Hz - Ryzen 7 250 - 16GB 1TB - Win11 - RTX 5060 - 3 év gari
- BESZÁMÍTÁS! ASRock B550 R5 5600 16GB DDR4 512GB SSD RX 6600 XT 8GB Zalman i3 Edge FSP 700W
- TP-LINK RE705X AX3000 WiFi 6 Extender
- HP ZBook Fury 17 G8 i7-11800H 32 GB RAM 1TB SSD NVIDIA RTX A3000 Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


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