как записать сценарий удара как те используемые в init.d?

Я должен записать сценарий удара, который делает партию вещей. Я хотел бы распечатать сообщения, столь же хорошие, как init сценарии делают. Например:

 Doing A... [OK]  
 Doing B... [ERROR]  
 ....

Вы знаете какой-либо способ сделать это?

Заранее спасибо

7
задан Neuquino 22 March 2010 в 18:51
поделиться

3 ответа

На всех моих компьютерах с Linux код для этого находится в файле:

/etc/init.d/functions

Если вы включите этот файл (. / Etc / init.d / functions ), а затем запустите свой код, выполнив следующие действия:

action /path/to/prog args

вы получите желаемую функциональность.

11
ответ дан 6 December 2019 в 11:47
поделиться

используйте printf. Мне тоже нравится, когда все закодировано цветом :)

Вот преамбула, которую я использую в своих скриптах для установки цветов и несколько операторов printf...

#!/bin/bash
# checkload.sh - script to check logs for errors.
#
# Created by Ryan Bray, rbray@xxx.com


set -e

# Text color variables
txtund=$(tput sgr 0 1)    # Underline
txtbld=$(tput bold)       # Bold
txtred=$(tput setaf 1)    # Red
txtgrn=$(tput setaf 2)    # Green
txtylw=$(tput setaf 3)    # Yellow
txtblu=$(tput setaf 4)    # Blue
txtpur=$(tput setaf 5)    # Purple
txtcyn=$(tput setaf 6)    # Cyan
txtwht=$(tput setaf 7)    # White
txtrst=$(tput sgr0)       # Text reset

А затем у меня есть такие операторы, которые используют цвета в выводе:

printf "Checking for descrepancies in $LOAD_DATE$ADD_COMP\n"
DELTAS=$(awk 'BEGIN { FS = "\"" } {print $24,$26,$28}' $COMP_FILE)
if [[ "$DELTAS" == *[1-9]* ]]; then
        printf "%74s[${txtred}FAIL${txtrst}]\n"
        printf "$COMP_FILE contains descrepancies.\n"
        exit 1
else
        printf "%74s[${txtgrn}PASS${txtrst}]\n"
fi

Надеюсь, это поможет!

-Ryan

2
ответ дан 6 December 2019 в 11:47
поделиться

Сценарии /etc/init.d/* следуют довольно простому в использовании шаблону. Просто найдите его, скопируйте и измените.

Материал [OK] / [ERROR] выполняется путем поиска файла /etc/init.d/functions в вашем скрипте (в верхней части обычно).

4
ответ дан 6 December 2019 в 11:47
поделиться
Другие вопросы по тегам:

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