У меня есть проблемы, получая следующие (пытавшиеся несколько varians с $,(), кавычка `, и т.д ...) для работы:Bash Division и Modulus
GetAmountOfFileBlocks()
{
export DOC_BLOCKS=0
DOC_BLOCKS= $(`expr $DOCS_AMOUNT/$CHUNK_AMOUNT`)
DIVISOR=echo expr $DOCS_AMOUNT % $CHUNK_AMOUNT
if [ $DIVISOR -ne "0" ]
then
$DOC_BLOCKS=$DOC_BLOCKS+1;
fi
}
В отлаживать (с -x) его показывает, как что-то вроде этого:
- экспорт DOC_BLOCKS = 0
- DOC_BLOCKS = 0 ++ выраж 193/64
- DOC_BLOCKS =
- 3 ./cnv_dm_assign_files_to_chunks.sh: строка 87: 3: команда не найдена
- делителем = эхо
- выраж 193% 64
Мне нужно, чтобы получить число, которое будет представлять число блоков, необходимых для размещения данного делителя (в этом примере 193/64 будет означать 3 и напоминание, то есть мне нужны 4 "блоки" для моих целей.
Так что это? 'bash' или' sh'? Это две разные вещи. –
Пожалуйста, посмотрите: http://www.shellcheck.net/ – Cyrus
@SeanBright: Я читал о различиях, и, с моей точки зрения, сегодня они по сути одно и то же для всех целей и целей. В некоторых системах sh является псевдонимом bash. – Carmageddon