source: client/engine/System.lib @ 62e3bcf

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 62e3bcf was 42669ebf, checked in by ramon <ramongomez@…>, 15 years ago

Funciones adaptadas a plantilla Doxygen; nueva función ogFsToId.

git-svn-id: https://opengnsys.es/svn/trunk@660 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 4.2 KB
RevLine 
[9f29ba6]1#!/bin/bash
2#/**
3#@file     System.lib
[9f57de01]4#@brief    Librería o clase System
[9f29ba6]5#@class    System
6#@brief    Funciones básicas del sistema.
7#@version  0.9
8#@warning  License: GNU GPLv3+
9#*/
10
[2e15649]11
[9f29ba6]12#/**
[42669ebf]13#         ogEcho [str_loglevel] "str_message..."
[9f57de01]14#@brief   Muestra mensajes en consola y lo registra en fichero de incidencias.
[42669ebf]15#@param   str_loglevel nivel de registro de incidencias.
16#@param   str_message  mensaje (puede recibir más de 1 parámetro.
[9f57de01]17#@return  Mensaje mostrado.
[aae34f6]18#@note    El nivel de ayuda \c (help) no se registra en el fichero de incidencias.
[cfeabbf]19#@version 0.9 - Primera versión para OpenGNSys
[aae34f6]20#@author  Ramon Gomez, ETSII Universidad de Sevilla
[9f57de01]21#@date    2009-07-23
[9f29ba6]22#*/
[9f57de01]23function ogEcho () {
[9f29ba6]24
[59f9ad2]25# Variables locales
[cfeabbf]26local LOGLEVEL LOGFILE DATETIME
[9f57de01]27
[42669ebf]28# Selección del nivel de registro (opcional).
[9f57de01]29case "$1" in
[d071d9b]30     help)    shift ;;
31     info)    LOGLEVEL=$1; shift ;;
32     warning) LOGLEVEL=$1; shift ;;
33     error)   LOGLEVEL=$1; shift ;;
34     *)       ;;
[9f57de01]35esac
[42669ebf]36# Pendiente en cliente Initrd.
37#DATETIME=$(date +"%F %T")
38
[cfeabbf]39if [ -n "$LOGLEVEL" ]; then
40    logger -s -t "OpenGNSys $LOGLEVEL" $LOGFILE "$DATETIME $*"
41else
42    echo "$*"
[9f57de01]43fi
[9f29ba6]44}
45
46
[9fb5086]47##### PRUEBAS
48#         ogGetHostname
[42669ebf]49function ogGetHostname ()
50{
[9fb5086]51local HOST
[42669ebf]52# Tomar nombre de la variable \c HOSTNAME
[9fb5086]53HOST="$HOSTNAME"
[42669ebf]54# Si no, tomar del DHCP, opción \c host-name
[9fb5086]55[ -z "$HOST" ] && HOST=$(awk -F\" '/option host-name/ {gsub(/;/,""); host=$2}
56                                   END {print host}
57                                  ' /var/lib/dhcp3/dhclient.leases)
[42669ebf]58# Si no, tomar del parámetro del kernel \c hostname
[9fb5086]59[ -z "$HOST" ] && HOST=$(awk 'BEGIN {RS=""; FS="="}
60                              $1~/hostname/ {print $2}' /proc/cmdline)
61[ "$HOSTNAME" != "$HOST" ] && export HOSTNAME="$HOST"
62echo $HOST
63}
64
[3458879]65#         ogGetIpAddress
[42669ebf]66function ogGetIpAddress ()
67{
[3458879]68local IP
69IP=$(awk '/fixed-address/ {gsub(/;/,""); host=$2}
70          END {print host}
71         ' /var/lib/dhcp3/dhclient.leases)
72echo $IP;
73}
74
[9fb5086]75
[9f29ba6]76#/**
[42669ebf]77#         ogRaiseError int_errcode ["str_errmessage" ...]
[9f57de01]78#@brief   Devuelve el mensaje y el código de error correspondiente.
[42669ebf]79#@param   int_errcode    código de error.
80#@param   str_errmessage mensajes complementarios de error.
[9f57de01]81#@return  Mensaje de error.
82#@warning No definidas
[aae34f6]83#@note    Mensajes internacionales del fichero de idiomas.
84#@version 0.9 - Primera versión para OpenGNSys.
85#@author  Ramon Gomez, ETSII Universidad de Sevilla
[9f57de01]86#@date    2009-07-21
[9f29ba6]87#*/
[9f57de01]88function ogRaiseError () {
[9f29ba6]89
[59f9ad2]90# Variables locales
[a5df9b9]91local MSG CODE
[2e15649]92
[42669ebf]93# Obtener código y mensaje de error.
[a5df9b9]94CODE=$1
95case "$CODE" in
[d42638a]96     $OG_ERR_FORMAT)    MSG="$MSG_ERR_FORMAT \"$2\"" ;;
[a5df9b9]97     $OG_ERR_NOTFOUND)  MSG="$MSG_ERR_NOTFOUND \"$2\"" ;;
[aae34f6]98     $OG_ERR_PARTITION) MSG="$MSG_ERR_PARTITION \"$2\"" ;;
[a79dd508]99     $OG_ERR_LOCKED)    MSG="$MSG_ERR_LOCKED \"$2\"" ;;
[5ceca9c]100     $OG_ERR_IMAGE)     MSG="$MSG_ERR_IMAGE \"$2\"" ;;
[be81649]101     $OG_ERR_NOTOS)     MSG="$MSG_ERR_NOTOS \"$2\"" ;;
102     $OG_ERR_NOTEXEC)   MSG="$MSG_ERR_NOTEXEC \"$2\"" ;;
[cfeabbf]103     *)                 MSG="$MSG_ERR_GENERIC"; CODE=$OG_ERR_GENERIC ;;
[2e15649]104esac
105
[42669ebf]106# Mostrar mensaje de error y salir con el código indicado.
[aae34f6]107ogEcho error "${FUNCNAME[1]}: $MSG" >&2
[a5df9b9]108return $CODE
[9f29ba6]109}
110
111
[aae34f6]112#/**
[1e7eaab]113#         ogHelp ["str_function" ["str_format" ["str_example" ... ]]]
[aae34f6]114#@brief   Muestra mensaje de ayuda para una función determinda.
[42669ebf]115#@param   str_function Nombre de la función.
116#@param   str_format   Formato de ejecución de la función.
117#@param   str_example  Ejemplo de ejecución de la función.
118#@return  str_help - Salida de ayuda.
[aae34f6]119#@note    Si no se indican parámetros, la función se toma de la variable \c $FUNCNAME
120#@note    La descripción de la función se toma de la variable compuesta por \c MSG_FUNC_$función incluida en el fichero de idiomas.
121#@note    Pueden especificarse varios mensajes con ejemplos.
122#@version 0.9 - Primera versión para OpenGNSys.
123#@author  Ramon Gomez, ETSII Universidad de Sevilla
124#@date    2009-07-27
125#*/
126function ogHelp () {
127
[59f9ad2]128# Variables locales.
[aae34f6]129local FUNC MSG
130
[42669ebf]131# Mostrar función, descripción y formato.
[aae34f6]132FUNC="${1:-${FUNCNAME[${#FUNCNAME[*]}-1]}}"
133MSG="MSG_HELP_$FUNC"
134ogEcho help "$MSG_FUNCTION $FUNC: ${!MSG}"
135[ -n "$2" ] && ogEcho help "    $MSG_FORMAT: $2"
[42669ebf]136# Mostrar ejemplos (si existen).
[aae34f6]137shift 2
138while [ $# -gt 0 ]; do
139    ogEcho help "    $MSG_EXAMPLE: $1"
140    shift
141done
142}
143
Note: See TracBrowser for help on using the repository browser.