Страницы

Поиск по вопросам

пятница, 16 ноября 2018 г.

Получить результат из функции в Bash

Есть функция main, которая обращается за результатом к функции Checker. При выполнении скрипта, никаких сообщений из Cheker не выводится и не пишется "Все ОК", хотя файлы существуют и имеют права на чтение. Что я делаю не так?
#!/bin/bash file1="$1" file2="$2" main() { if [ "$(checker)" == "true" ] then echo "Все ОК" fi } checker() { flag="" if [ -f "$file1" ] && [ -f "$file2" ] then echo "Файлы существуют" if [ -r "$file1" ] && [ -r "$file2" ] then echo "Файлы могут быть прочитаны" flag="true" else echo "Один из файлов не может быть прочитан" flag= "false" fi
else echo "Один из файлов не существует" flag="false" fi
echo "$flag"
} main


Ответ

Из двух функций сделайте одну с проверкой по $flag Откройте для себя return [N] вместо flag

Комментариев нет:

Отправить комментарий