У меня есть десятичные числа, хранящиеся в строках.Как сделать восьмеричные числа как десятичные при выполнении арифметики в busybox 'ash
Номера < 100 хранятся таким образом "045"
или "005"
.
При использовании этих числовых строк в арифметических операциях, таких как let A="045"+"009"
, эти числа рассматриваются как восьмеричные числа, как указано на странице руководства.
Лечить их как десятичные я добавил 10#
в начале номера строк, как этот
let A="10#045"+"10#123"
, но это решение вызывает ошибку -ash: let: arithmetic syntax error
в моей Баш из BusyBox (Installed на OpenWRT)
ли есть еще одно решение для моей загруженной оболочки?
Примечание: Операция должна оцениваться с помощью let
, поскольку мне нужны номера тезисов в других операциях, таких как побитовая операция.
Вы можете использовать 'expr' вместо этого? –
@MichaelGardner Я хочу использовать поразрядную операцию по номерам тезисов. И expr не поддерживает побитовое управление – MOHAMED