Как практический ответ о том, как сделать то, что записал @phunehehe, я предложу, чтобы во время установки прецессировали других дистрибутивов, у Вас есть выбор (обычно под усовершенствованной кнопкой) для удаления галочки у опции установить Личинку на MBR, и следовательно можно быть уверены, что текущая Личинка не заменяется.
Но для создания Личинки Ubuntu для знания на новых дистрибутивах, необходимо зондировать диск для другой установки OSs с программой как тестер OS, который делает это автоматически для Вас, когда Вы работаете sudo grub-mkconfig -o /boot/grub/grub.cfg
(конечно, после резервного копирования grub.cfg
файл). и sudo update-grub
в конце.
В случае, если это имеет трудное время для нахождения OSs, можно создать пользовательский файл (40_custom), и в нем указывают на другое ядро OSs и initrd файлы, видят эту человечность статья Wiki о Grub2, это включает всю информацию, в которой Вы нуждаетесь.
В Вашем случае можно просто отключить нулевое дополнение, добавляют -
после %
в строке формата даты: %-H
По умолчанию дата заполняет числовые поля, обнуляет. Следующие дополнительные флаги могут следовать за '%':
-
(дефис) не заполняет поле_
(подчеркивание) клавиатура с пробелами0
(нулевая) клавиатура с нулями^
используйте верхний регистр, если это возможно,#
используйте противоположный случай, если это возможно,
См. руководство даты
Если Вы хотите интерпретировать число в другой основе в ударе
- Константы с продвижением 0 интерпретируются как восьмеричные числа.
- Продвижение 0x или 0X обозначает шестнадцатеричный.
- Иначе числа принимают форму [base#] n, где основой является десятичное число между 2 и 64 представлениями арифметической основы, и n является числом в той основе
Так, для интерпретации числа как десятичного числа использовать 10#n
форма, например. 10#09
echo $((10#09*2))
18
Посмотрите раздел Arithmetic Evaluation руководства удара.
Портативно, можно легко удалить продвижение 0
от переменной. Это оставляет переменную без изменений, если нет никакого продвижения 0
.
eval $(date +"h=%H m=%M")
h=${h#0}
m=${m#0}
say "$h hours and $m minutes"
В ударе, ksh или zsh, можно использовать дополнительные шаблоны шарика ksh для удаления любого количества продвижения 0
s. В ударе, выполненном shopt -s extglob
сначала. В zsh, выполненном setopt kshglob
сначала.
eval $(date +"h=%H m=%M")
h=${h#+(0)}
m=${m#+(0)}
say "$h hours and $m minutes"
В целом в ударе:
test ${#number} -eq 2 && number=${number#0}
получающийся в
date +"%H %M" |
{ read hours minutes
hours=${hours#0}
minutes=${minutes#0}
echo "${hours} hours and ${minutes} minutes"; }
Или, отличающийся:
date +"%H hours and %M minutes" | sed -n -e 's/0\([0-9]\)/\1/g' -e p
Я удивлен, что дата не имеет соответствующих параметров формата.
Если вы пытаетесь выполнить сравнение в десятичном формате со значениями даты, я обнаружил, что этот метод очень эффективен:
let mymin=$(date '+1%M') ; let mymin=$mymin%100
Это всегда дает десятичное значение.Итак, я могу сделать следующее:
if [[ $mymin -le 1 ]]; then # only 0 and 1 are true.
Таким образом, нет проблем с 08 или 09. Использование% 10 вместо% 100 дает вам десятиминутные диапазоны от 0 до 9. Я также обнаружил, что следующее дает десятичные значения без ведущих нулей:
echo "$((10#$(date +%M)))"
echo $((011)) $((10#011))
другой хороший пример, который это производит9 11
– Aquarius Power 30.04.2013, 00:10lat=048 ; latd=${lat#0} ; echo $((latd-1))
работы, ноlat=-048 ; latd=${lat#0} ; echo $((latd-1))
не делает. – Luis A. Florit 12.02.2016, 02:17plus=$((10#01))
– Dr Beco 25.03.2017, 01:21