В / etc / inittab
найдите строку вида id: 3: initdefault:
. Число, вероятно, будет 3 или 5, но может быть 2 или 4. Число в этой строке - уровень выполнения по умолчанию. Скорее всего, это не 2, поэтому ваши скрипты в rc2.d не запустятся.
Поместите ваш сценарий в каталог rcN.d, который соответствует номеру в строке initdefault
.
В принципе, rc.local - лучший выбор, но rc.local настолько сильно различается от дистрибутива к дистрибутиву (иногда это каталог, иногда скрипт, иногда он вообще не настроен), что, не зная вашего дистрибутива, он проще просто поставить его на правильный уровень выполнения. Вы можете попробовать man rc.local
и посмотреть, что там написано в вашей системе. Если ваша система поддерживает rc.local как директрой, поместите туда свой скрипт и не беспокойтесь об уровнях выполнения.
Также убедитесь, что ваш скрипт принадлежит пользователю root и имеет права 755 (если вы хотите, чтобы кто-нибудь мог его запустить) или 744.
Выполните цикл pre -для вычисления самого длинного имени файла, а затем используйте его в качестве параметра интервала:
longest=0
for file in *.bash
do
[ "${#file}" -gt "$longest" ] && longest=${#file}
done
#... for your execution loop
printf "running the script - %${longest}s\t- "
printf "%s\n" "$var"
Я предполагаю, что все ваши скрипты охватываются шаблоном *.bash
; отрегулируйте это по мере необходимости. Начальные петли вычисляют необходимую ширину; начальный printf
использует эту переменную для форматирования ширины поля скрипта для каждой итерации цикла for
.
Я не думаю, что вы можете сделать правильное форматирование внутри сценария, поскольку более ранние итерации цикла не имеют возможности узнать ширину следующих переменных; как насчет двухэтапного -процесса?
Я также позволил (личным предпочтениям )правильно -выровнять выходные значения времени.
Сохранив ваш пример ввода в файл (, вы не можете сгенерировать его динамически ), мое предложение выглядит следующим образом:
cat yael | awk -F'-' '{printf "%s - %-30s - % 6.2f\n",$1, $2, $3}'
running the script - Verify_disk.bash - 1.42
running the script - Verify_yum_list.bash - 10.49
running the script - Verify_size.bash - 2.93
running the script - Verify_mem_size.bash - 0.71
running the script - Verify_disk_size.bash - 2.41
running the script - Verify_wdisk.bash - 1.63
running the script - Verify_cpu.bash - 0.74
Итак, если бы вы передавали вывод своего скрипта через мой awk...