У меня есть каталог, в котором я запускаю программу.
/ USR / бен / мой-Dir

Мне нужно запустить программу из каталога, поэтому я должен пойти cd /usr /bin /my-dir ./my-program

У меня есть скрипт, который с удаленной машины обновляет мою программу следующим образом: rm -rf /usr /bin /my-dir mv my-program /usr /bin /my-dir

Проблема в том, что когда я ввел ssh'd в машину и нахожусь в каталоге /usr /bin /my-dir Сценарий завершается ошибкой, так как он не может успешно выполнить команду rm -rf /usr /bin /my-dir (он удаляет все содержимое но не каталог)

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

1 ответ1

0

На всякий случай это кому-нибудь поможет. Оказывается, что оболочка работает так, что если текущий каталог удаляется в другом экземпляре оболочки, а затем воссоздается и заполняется файлами, исходная оболочка будет показывать пустой каталог.

Чтобы снова увидеть файлы, просто зайдите

cd .

Это привело к решению исходной проблемы, не удаляя сам каталог (просто удаляя и заменяя определенные файлы).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .