Необъяснимая ошибка в bash: команда printf внутри скрипта возвращает «неверный номер»
Я могу'т получитьprintf
напечатать переменную с дескриптором% e в bash-скрипте. Было бы просто сказать
#!/bin/bash
a=14.9
printf %e 14.9;
Я знаю, что это, вероятно, очень простой вопрос, но ям довольно плохо знаком с Bash и всегда используетсяecho
, Плюс я не могнигде не могу найти ответ.
когда бегу я получаю
$ ./test.text
./test.text: line 3: printf: 14.9: invalid number
0,000000
поэтому моя проблема - это переменная локали LC_NUMERIC: она установлена так, что я использую запятые в качестве десятичных разделителей. Действительно, он настроен на европейскую локализацию:
$ locale | grep NUM
LC_NUMERIC="it_IT.UTF-8"
Я думал, что установил его на en_US.UTF-8, но, очевидно, я нет. Теперь проблема переключается, чтобы найти, как установить мою переменную локали. Просто используя
$ LC_NUMERIC="en_US.UTF-8"
победил'т работа.