Niewytłumaczalny błąd w bash: polecenie printf w skrypcie zwraca „niepoprawną liczbę”

Nie mogę dostaćprintf wydrukować zmienną z deskryptorem% e w skrypcie bash. Powiedziałbym tylko

#!/bin/bash
a=14.9
printf %e 14.9;

Wiem, że jest to bardzo proste pytanie, ale jestem całkiem nowy w bashu i zawsze używanyecho. Poza tym nigdzie nie mogłem znaleźć odpowiedzi.

kiedy biegnę, dostaję

$ ./test.text
./test.text: line 3: printf: 14.9: invalid number
0,000000

dlatego moim problemem jest zmienna locale LC_NUMERIC: jest ustawiona tak, że używam przecinków jako separatorów dziesiętnych. Rzeczywiście, jest ustawiony na europejską lokalizację:

$ locale | grep NUM
LC_NUMERIC="it_IT.UTF-8"

Myślałem, że ustawiłem go na en_US.UTF-8, ale najwyraźniej tego nie zrobiłem. Teraz problem się przełącza, aby dowiedzieć się, jak ustawić zmienną ustawień narodowych. Po prostu używaj

$ LC_NUMERIC="en_US.UTF-8"

nie zadziała.

questionAnswers(2)

yourAnswerToTheQuestion