У меня действительно странная проблема с / bin / bash и скриптом, который использует printf для форматирования строки.
Мой скрипт выглядит так
rt=$(printf "%.3f" 13.234324245)
с той разницей, чтоЯ вычисляю число 13,23 ... выше.Когда я использую / usr / bin / zsh, это прекрасно работает!Даже / bin / sh может это сделать (но он не может выполнить if if ...) Самая большая проблема в том, что / bin / bash, похоже, не понимает printf или имеет другой способ форматирования, когда я не использую LANG=C
.
Моя переменная LANG установлена на de_AT.UTF-8
, и тогда я получаю эту ошибку:
/path/to/script: Zeile 12: printf: 13.234324245: Ungültige Zahl.
Так что просто говорится, что число, которое я дал printf, недействительно ...
Нужно ли мне запускать printf по-другому?
edit: Кажется, проблема в вычислении числа:
rt=$(printf "%.3f" $(echo "$res2 - $res1"|bc ))
как я могу сказать bc использовать a,
вместо .
?