Использование bash-скрипта внутри оператора if - PullRequest
0 голосов
/ 26 июня 2019

Меня попросили написать простой скрипт на bash, который будет использоваться внутри операторов if.Он принимает один аргумент и, в зависимости от результата вычислений внутри этого скрипта, либо передает if, либо нет.Это должно быть что-то вроде функции, возвращающей true или false внутри оператора if.

Это можно использовать так:

if ./script_name argument ; then
     ...
fi

Внутри указанного скрипта я пытался создать функцию, которая требует вычислений, чтобыиспользовал return 0 или return 1, но я так и не получил удовлетворительных результатов - несмотря на правильность вычислений, оператор if всегда выполнялся.Затем я переключился на «true» или «false», но с теми же результатами.

#!/bin/bash

function function_name () {

# calculations...

if [ something ]
then
    true
else
    false
fi
}

Использование приведенного выше сценария таким образом:

if ./script_name argument; then echo "True"; else echo "False"; fi

всегда печатает True, независимо от аргумента,Нет ошибокРасчеты верны - пробовал без return, но с echo 0 / echo 1 в терминале, и он выводил их оба соответственно аргументу (правильно).

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