_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 ответ1

0

Вам нужно оценить ваш cmd на вашей функции exec.

EXEC_OUT=`eval $CMD`

Не уверен, почему, хотя. Я думаю, что это потому, что есть несколько команд в одной переменной. Может быть, кто-то более опытный может подтвердить это.

Смотрите страницу справочника eval.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .