Представь, у меня есть сценарий foo
. Он должен быть запущен один раз, когда пользователь входит в систему, и не требуется после успешного запуска.
Мой вопрос: безопасно ли удалять файл скрипта из скрипта?
Например:
#!/bin/bash
# do something
...
# if successful
rm /path/to/foo
exit 0
bash
shell-script
executable
rm
htorque
источник
источник
#!/bin/bash -e
чтобы гарантировать, что файл сценария будет удален, только если ничего не пошло не так.exec rm /path/to/foo
.Ответы:
Безопасно удалить файл оболочки во время его работы, поскольку на обработчики файлов не влияет (пере) перемещение соответствующего файла.
Для получения дополнительной информации см. Здесь .
источник
rm <it-self>
не удастся на HP-Ux.unlink
может произойти сбойETXTBUSY
. (Как ни странно, «чистая процедура» и «общий текст» не определены в спецификации; AFAIK означают компонент исполняемой программы: сам исполняемый файл или используемую библиотеку). Все основные модули, кроме HP-UX, позволяют переименовывать и удалять исполняемые файлы.exec rm /path/to/foo
.Я всегда нервничал по этому поводу, поэтому я сделал:
В качестве альтернативы вы можете подключиться к временному сценарию:
источник
exec rm /path/to/shell/script