Есть функция 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
Комментариев нет:
Отправить комментарий