Miért nem működött a bash-script vagy a kocsi vissza, savepearlharbor

Konfiguráltam a konfigurációs fájlt. Szeretnék következtetni a dollárra és az euróra a rubel ellen, és kiszámítanám az árfolyam dinamikáját. A feladat nem nehéz, ezért gyorsan írtam egy bash parancsfájlt. Úgy döntöttem, hogy átváltok a CBRF honlapjáról.

A forgatókönyv ezt kiderítette:

Amikor azonban elkezdtem a szkriptet, hibaüzenetet kaptam:

(standard_in) 1: illegális karakter: ^ M
(standard_in) 1: illegális karakter: ^ M

Miért nem működött a bash-script vagy a kocsi vissza, savepearlharbor

Mi a baj? Úgy döntöttem, hogy külön-külön megvizsgálom a változókat. Két sor került:

A változók kimenete helyes volt:

Talán egy hiba a sorban

Adja hozzá a sor kimenetét a parancs segítségével

Miért nem működött a bash-script vagy a kocsi vissza, savepearlharbor

Csak -58,7710 volt visszavonva. Hol ment az 59.4452? Itt voltak nehézségek. Úgy döntöttem, hogy rögzítem a művelet eredményét egy fájlba, hozzáadva az 1.txt és a 2.txt fájlt az adatok feldolgozása után, vagyis így keletkezett:

Minden rendben volt, a számokat sikeresen rögzítették a fájlban.

Miért nem működött a bash-script vagy a kocsi vissza, savepearlharbor

Miért nem működött a bash-script vagy a kocsi vissza, savepearlharbor

A fájlok majdnem azonosak, de a 2.txt fájlban 0D van. A keresőmotor segítségével azt találjuk, hogy az OD egy "kocsi visszatér". Vagyis az echo $ onedayagok- $ nowk paranccsal először megjelenik az onedayagok változó értéke, majd a vonal kezdetétől a nowk változó ugyanabban a sorban kerül kiírásra, vagyis átfedi az előző változót. Ugyanazon keresőmotor segítségével megtudhatjuk, hogy a "kártya" eltávolításához hozzáadjuk a "\ r" -t a tr segédprogramhoz, azaz:

Miért nem működött a bash-script vagy a kocsi vissza, savepearlharbor