AIX не поддерживает логическое выражение bc

Переключатель для установки порта в scp — верхний -корпус-P

 -P port
         Specifies the port to connect to on the remote host.  Note that
         this option is written with a capital ‘P’, because -p is already
         reserved for preserving the times and modes of the file in
         rcp(1).

 -p      Preserves modification times, access times, and modes from the
         original file.

Нижний -случай -pне принимает аргумент, поэтому 10012рассматривается как дополнительная последовательность опций; параметры -1и -2являются допустимыми параметрами (, управляющими протоколом SSH ), но -0не являются -, отсюда и ошибка.

0
17.09.2018, 22:05
1 ответ

bc Спецификация POSIX не требует голых условий, а AIX bcих не поддерживает. Вы должны были бы пройти тест вот так:

percent=-0.17
max=0.20
if [[ $(bc <<< "if ($percent <= $max) if ($percent >= -$max) 1") -eq 1 ]]; then
    echo "Under the $max acceptable buffer: File ACCEPTED" 
else
    echo "Over the $max acceptable buffer: File REJECTED"
    exit 1
fi

По поводу -форматирования скрипта bc, это выглядит так:

if ($percent <= $max) 
  if ($percent >= -$max) 
    1

... только если значение $percent находится в пределах обоих диапазонов , выполняется выражение 1, которое выводит 1на стандартный вывод.

3
28.01.2020, 02:23

Теги

Похожие вопросы