De ce nu a lucrat bash-script sau carriage return, savepearlharbor

Mi-am scris dosarul de configurare pentru Conky. Vroiam să fac o concluzie a dolarului și a monedei euro împotriva rublei și să calculez dinamica ratelor. Sarcina nu este dificilă, așa că am scris rapid un script de bash. Am decis să ia cursurile de schimb de pe site-ul CBRF.







Scenariul a dovedit acest lucru:

Cu toate acestea, când am început scriptul, am primit un mesaj de eroare:

(standard_in) 1: caracter ilegal: ^ M
(standard_in) 1: caracter ilegal: ^ M

De ce nu a lucrat bash-script sau carriage return, savepearlharbor

Ce sa întâmplat? Am decis să privesc separat variabilele. Se adaugă două rânduri:

Rezultatul variabilelor a fost corect:

Poate o eroare în linie

Adăugați ieșirea din această linie cu comanda

De ce nu a lucrat bash-script sau carriage return, savepearlharbor






Doar -58.7710 a fost retrasă. De unde a plecat 59.4452? Erau și aici dificultăți. Am decis să înregistrez rezultatul operațiunii într-un fișier, adăugat> 1.txt și> 2.txt după prelucrarea datelor, adică, sa dovedit astfel:

Totul părea normal, numerele au fost înregistrate cu succes în fișier.

De ce nu a lucrat bash-script sau carriage return, savepearlharbor

De ce nu a lucrat bash-script sau carriage return, savepearlharbor

Fișierele sunt aproape identice, dar în fișierul 2.txt există 0D. Folosind motorul de căutare, constatăm că OD este un "retur de transport". Asta este, cu comanda echo $ onedayagok- $ nowk, valoarea variabilei onedayagok a fost afișată pentru prima oară, apoi de la începutul liniei variabila nowk a fost ieșită pe aceeași linie, adică suprapunând variabila anterioară. Cu ajutorul aceluiași motor de căutare, aflăm că pentru a elimina "cardul" adăugăm '\ r' la utilitarul tr, adică:

De ce nu a lucrat bash-script sau carriage return, savepearlharbor







Trimiteți-le prietenilor: