Оболочка busybox отказывается выполнять определенную строку скрипта - PullRequest
1 голос
/ 15 апреля 2010

Я использую оболочку busybox для выполнения скрипта, который bash выполняет, когда я загружаю Linux с помощью nfs. Пожалуйста, дайте мне знать правильную альтернативу для этой линии.

cur_major=$((0x`stat -c %t $dev 2>/dev/null`))

В поле busybox выдается сообщение об ошибке синтаксиса «0x», что, как я понимаю, является проблемой синтаксиса этой строки.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 16 апреля 2010
major_hex=`stat -c %t $dev 2>/dev/null`
cur_major=`printf "%2d" 0x"$major_hex"`
0 голосов
/ 15 апреля 2010

У меня нет проблем с запуском. попробуйте сделать это шаг за шагом, если ничего не помогает.

$ var=$(stat -c "%t" $dev 2>/dev/null)
$ var=$((0x$var))

на самом деле $(()) позволяет выполнять арифметику. что на самом деле вы пытаетесь сделать? Вы пытаетесь преобразовать в шестнадцатеричное число?

...