Возвращаемое значение из функции (установка переменной из существующего имени переменной) - PullRequest
2 голосов
/ 20 февраля 2012

Я хотел бы передать два аргумента моей функции и установить переменную (и имя переменной) на основе результатов.Я пытался сделать это следующим образом:

$service_to_check_for = "ping"

function check-service-monitored ($check_command,$check_name) {
    if($service_to_check_for -eq $check_command)
    {
        $Value = "Yes"
    }
    else
    {
        $Value = "No"
    }       

    $script:check_command = $check_command
    $script:check_name = $check_name
    $script:value = $Value
}

check-service-monitored "ping" "NagiosPing"

echo "$check_name : $value"

Я хотел бы

     $NagiosPing = "Yes"

но как?

1 Ответ

4 голосов
/ 20 февраля 2012

Просто убедитесь, что единственное значение, которое выдает ваша функция, это результат:

$service_to_check_for = "ping"

function check-service-monitored ($check_command,$check_name) {
if($service_to_check_for -eq $check_command)
{
    "Yes"
}
else
{
    "No"
}       

$script:check_command = $check_command
$script:check_name = $check_name
$script:value = $Value
}

$NagiosPing = check-service-monitored "ping" "NagiosPing"
$NagiosPing 

Единственный вывод, который теперь предоставляет ваша функция - это Да или Нет, просто присвойте его своей переменной

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...