#!/bin/bash cd $(dirname $0)/conf-server/ ScriptDir=$(pwd)/scripts/ SondeFile=$(pwd)/sonde.cfg source service.cfg [[ "${Crypted}" == "yes" ]] && NcCmd="cryptcat -k ${LocalPassword} -l ${LocalIp} -p ${LocalPort} " || NcCmd="nc -l ${LocalIp} ${LocalPort}" while true do #coproc cryptcat -k ${LocalPassword} -l ${LocalIp} -p ${LocalPort} coproc eval ${NcCmd} while read -r cmd; do logger "Running $cmd" cpt=0 while read DATA do Sonde=$(echo ${DATA}| cut -d"#" -f1) Exec=$(echo ${DATA}| cut -d"#" -f2) RealCmd=$(echo ${cmd} | cut -d"#" -f1) ArgCmd=$(echo ${cmd} | cut -d"#" -f2) if [[ "${RealCmd}" == "$Sonde" ]] then logger "Exec $Exec $Arg $cpt" [ "$1" == '-d' ] && echo "############ Exec $Exec $Arg $cpt" 1>&2 bash ${ScriptDir}/${Exec} $ArgCmd cpt=$((cpt+1)) break fi done < ${SondeFile} [[ "${cpt}" -eq 0 ]] && logger "You Failed $Sonde $Exec $Arg" done <&"${COPROC[0]}" >&"${COPROC[1]}" done