/ usr / bin / install: cannot stat `run ': Нет такого файла или каталога

What вам не хватает того, что set -e и sigspec ERR оба применяются к выполнению команды (команды, которые завершаются с ненулевым значением). То, что у вас здесь с b = $ ((h +)) , - это ошибка синтаксического анализа . Команда не выполняется, потому что она не распознана.

Почему это работает в функции или под-оболочке? Поскольку эта ошибка синтаксического анализа приводит к сбою содержащего скрипта (будь то функция или вспомогательная оболочка) в целом. Другими словами, это не b = $ ((h +)) , который запускает вашу ловушку (в ваших суб-оболочках ловушка не установлена), это ошибка вызова мусора или в вашу подоболочку.

1
07.03.2017, 20:44
1 ответ

не может указать "вещь" означает, что что-то ожидает, что файл или каталог существует (в данном случае, вероятно, каталог с именем "run") и пытается произвести на нем операцию, но обнаруживает, что его там нет. Значение исходит из системного вызова stat (1) , который считывает метаданные ссылки (то есть файла, каталога, сокета, символической ссылки и т. Д.) В файловой системе.

Просматривая ваш журнал ошибок, install - это исполняемый файл (то есть скрипт или двоичный файл), который пытается выполнить доступ run , но он не существует, в результате чего возникает ошибка. .

4
27.01.2020, 23:25

Теги

Похожие вопросы