diff --git a/sgad b/sgad index 961f89a1f6568479d4456feffa1525c92dc8fdb5..56f6d2dd8f827f53a3209efa849e24fcd78b22fa 100755 --- a/sgad +++ b/sgad @@ -20,7 +20,7 @@ local function script_path() return str:match("(.*)/") or "." end -local config, err = configuration.read(args[1] or os.getenv("SGAD_CONFIG_FILE") or script_path().."/sgad.cfg") +local config, err = configuration.read(args[1] or os.getenv("SGAD_CONFIG_FILE") or script_path().."/sgad.cfg", args[2]) if not config then io.stderr:write(err.."\n") os.exit(1) diff --git a/sgad.sh b/sgad.sh index 2e381c33d9d9cb715599f2b7316de80767725364..4f5180f4af737f916148855f9995571fda8712cd 100755 --- a/sgad.sh +++ b/sgad.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash timestamp=$(date +%Y%m%d%H%M%S) logsdir="logs" @@ -6,13 +6,6 @@ logsdir="logs" [ ! -e $logsdir ] && echo "mkdir $logsdir" && mkdir $logsdir logfile="logs/sgad_${timestamp}.log" - -configfile=${1} -if [ -z ${configfile} ]; then - echo "Using default file configuration" > ${logfile}; - configfile=sgad.cfg -fi - hostruntimedir="/tmp/chuva" sgadruntimedir="${hostruntimedir}/sgad" runtimesandboxdir="${sgadruntimedir}/sandbox" @@ -21,6 +14,28 @@ runtimesandboxdir="${sgadruntimedir}/sandbox" [ ! -e $sgadruntimedir ] && echo "mkdir $sgadruntimedir..." && mkdir $sgadruntimedir [ ! -e $runtimesandboxdir ] && echo "mkdir $runtimesandboxdir..." && mkdir $runtimesandboxdir +POSITIONAL=() # Array para salvar argumentos passados ao comando +while [[ $# -gt 0 ]] # Percorre todos argumentos +do + case "$1" in + --sga-name) + sga_name=$2 + shift + shift + ;; + *) + POSITIONAL+=("$1") + shift + ;; + esac +done +set -- "${POSITIONAL[@]}" # Reseta a posição do $N que foi shiftada +config_file=$1 # Como shiftamos todos os argumentos para a direita, nosso $1 sempre vai ser o argumento config_file, se ele existir +if [ -z ${config_file} ]; then + echo "Using default file configuration" > ${logfile}; + config_file=sgad.cfg +fi + eval $(luarocks path --bin) -sgad ${configfile} 2>&1 | tee -a "${logfile}" +sgad ${config_file} ${sga_name} 2>&1 | tee -a "${logfile}"