#!/bin/bash
# - loosely based on the function "round()", taken from
# http://stempell.com/2009/08/rechnen-in-bash/
# - inspired by user85321 @ askubuntu.com (original author)
# and Aquarius Power
# the round function (alternate approach):
round2()
{
v=$1
vorig=$v
# if negative, negate value ...
(( $(bc <<<"$v < 0") == 1 )) && v=$(bc <<<"$v * -1")
r=$(bc <<<"scale=$3;(((10^$3)*$v/$2)+0.5)/(10^$3)")
# ... however, since value was only negated to get correct rounding, we
# have to add the minus sign again for the resulting value ...
(( $(bc <<< "$vorig < 0") == 1 )) && r=$(bc <<< "$r * -1")
env printf %.$3f $r
};
echo "Insert the price you want to calculate:"
read float
echo "This is the price without taxes:"
round2 $float 1.18 2
echo && read -p "Press any key to continue..."
Это на самом деле просто: нет необходимости явно добавлять жесткий код «-0,5» для отрицательных чисел. Математически говоря, мы просто вычислим абсолютное значение аргумента и добавим 0.5, как обычно. Но поскольку у нас (к сожалению) нет встроенной функции abs() в нашем распоряжении (если мы не будем ее кодировать), мы просто отрицаем аргумент, если он отрицательный.
Кроме того, было очень тяжело работать с добавьте в качестве параметра (так как для моего решения я должен иметь возможность получить доступ к дивиденду и делителю отдельно). Вот почему мой скрипт имеет дополнительный третий параметр.
Попробуйте выполнить эту команду:
$ gconftool-2 --set "/apps/metacity/general/button_layout" --type string "close,minimize,maximize:"
Откройте редактор dconf. Перейдите в приложение> metacity> general в окне слева, а затем найдите опцию button_layout в правом окне. Дважды щелкните эту опцию и установите для нее значение «закрыть, максимизировать, свернуть: меню» без «.s».