exec
заменяет текущий исполняемый файл оболочки другим исполняемым файлом , то есть внешней командой, в том же процессе. Поскольку нет оболочки для выполнения чего-либо, такие концепции оболочки, как псевдонимы, функции, встроенные команды или составные команды, не могут быть вызваны через exec
. (Синтаксис в любом случае не допускает составных команд.)
Оболочка не завершает работу, когда завершается выполнение команды с exec
.Программа оболочки завершается при запуске exec
в том смысле, что ее код перестает выполняться (но, опять же, процесс не завершается). Процесс оболочки продолжает выполнять новую программу. Когда исполняемая программа завершается, родительский процесс уведомляется как обычно; он должен реагировать на любую ошибку.
В недавнем прошлом offlineimap начал проверять SSL-сертификаты (да, по-видимому, раньше этого не было). Вместо того, чтобы поступать разумно и использовать системное хранилище доверенных сертификатов по умолчанию, вам нужно вручную настроить каждый удаленный репозиторий так, чтобы он указывал на список сертификатов. В системах Debian/Ubuntu следующая настройка в Repository GmailRemote
должна помочь:
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
В других системах файл может находиться в другом месте; веб-поиск должен найти подробную информацию о том, где хранится хранилище доверия.