Единственной проблемой является раздел MBR, который теперь заменил окна. Каждый раз, когда Вы восстанавливаете окна, это восстанавливает MBR, и удалите GRUB или независимо от того, что записано на нем. Таким образом, теперь Ваш GRUB не находится в MBR, и он непосредственно загружает Вас в окна.
Для восстановления GRUB можно использовать любой живой CD, чтобы загрузиться в человечность и открыть терминал и затем выпустить команду sudo grub-install
. Ну, во многих случаях это перестало работать. Для этого необходимо вручную смонтировать корневой раздел и затем переустановить GRUB в него. Это следует как:
sudo fdisk -l
...list of devices and partions
//here find out the root partition (mine is sda3, so i am condireing /dev/sda3 here)
sudo mkdir /mnt/anyname
sudo mount /dev/sda3 /mnt/anyname
cd /mnt/anyname
sudo grub-install --root-directory=/mnt/anyname /dev/sda
Это переустановит Ваш GRUB. При обнаружении с какой-либо проблемой в установке GRUB просто перейдите к Google, существуют миллионы руководств по "установке личинки в Linux". :)
Предполагая, что $ myduration является десятичным или целым числом
$ myduration=6.5
$ myduration=$( printf "%.0f" $myduration )
$ echo $myduration
6
Удалить содержимое страницы из переменной:
Когда я попробовал вашу команду, myduration
содержал HTML-содержимое страницы по URL-адресу, который я использовал в моем тесте, а также временная стоимость. Добавив -s
для подавления индикатора выполнения и добавив -o / dev / null
к параметрам curl
, я смог удалить перенаправление на / dev / null
и сохранить только время в myduration
.
Поскольку значение myduration
, скорее всего, будет коротким, вы можете использовать метод ire_and_curses
показывает, что часто дает ноль в качестве результата, который будет меньше единицы, которую вы тестируете (однако, обратите внимание, что в вашем сообщении журнала указано «6 секунд»).
Более точное разрешение:
Если вы хотите получить более точное разрешение, и «6,789». Для значений с более чем тремя десятичными знаками дополнительные цифры усекаются без округления независимо от значения («1,1119» становится «1,111»).
Ваш сценарий с изменениями, которые я упомянул выше, и использующий mult1000
(с моим собственным примером времени):
myduration=$(curl -s -o /dev/null http://192.168.50.1/mantisbt/view.php?id=1 -w %{time_total}); [[ $(mult1000 $myduration) -gt 3500 ]] && echo "`date +'%y%m%d%H%M%S'` took more than 3.5 seconds to load the page http://192.168.50.1/mantisbt/view.php?id=1 " >> /home/shantanu/speed_report.txt
Здесь он разбит на несколько строк (и упрощен), чтобы сделать его более читаемым здесь, в этом ответе:
myduration=$(curl -s -o /dev/null http://example.com -w %{time_total})
[[ $(mult1000 $myduration) -gt 3500 ]] &&
echo "It took more than 3.5 seconds to load thttp://example.com" >> report.txt
Это не совсем понятно, но я думаю , что вы спрашиваете, как преобразовать плавающий- значение точки ( myduration
) до целого числа в bash
. Что-то вроде этого может вам помочь, в зависимости от того, каким образом вы хотите округлить свое число.
#!/bin/bash
floor_val=
ceil_val=
function floor() {
float_in=$1
floor_val=${float_in/.*}
}
function ceiling() {
float_in=$1
ceil_val=${float_in/.*}
ceil_val=$((ceil_val+1))
}
float_val=$1
echo Passed in: $float_val
floor $float_val
ceiling $float_val
echo Result of floor: $floor_val
echo Result of ceiling: $ceil_val
Пример использования:
$ ./int.sh 12.345
Passed in: 12.345
Result of floor: 12
Result of ceiling: 13