_exec()
{
CMD="$1"
echo "Executing command: $CMD"
EXEC_OUT=`$CMD`
EXEC_RET=$?
}
_exec "hostname|cut -d\".\" -f1 "
SHORT_NAME=$EXEC_OUT
if [ $EXEC_RET -ne 0 ];then
echo "Unable to determine shortname of server"
else
echo $EXEC_OUT
fi
1 ответ
0
Вам нужно оценить ваш cmd на вашей функции exec.
EXEC_OUT=`eval $CMD`
Не уверен, почему, хотя. Я думаю, что это потому, что есть несколько команд в одной переменной. Может быть, кто-то более опытный может подтвердить это.
Смотрите страницу справочника eval.