Я пытаюсь написать простой скрипт (для встроенной системы), который монтирует внешний файл из сети, а затем вызывает в командной строке exit
(который выходит из терминала busybox и загружается система из вновь установленного корневого каталога). Проблема в том, что когда я вызываю exit
из сценария оболочки, он выходит из сценария, а не внешнего терминала. Любые подсказки о том, как отправить команду exit
вне сценария?вызов «exit» из сценария оболочки
Мой код выглядит примерно так:
#!/bin/bash
mount /mnt/root 1.2.3.4:/path/to/external/files -o nolock
exit # exits the script, not the outside filesystem!
ну, ваша родительская оболочка ('external shell') вызывает скрипт, который выполняется в дочернем процессе, подоболочка. Ни в коем случае нельзя вызывать то, что выполняется в родительской подоболочке. Но вместо вызова сценария как './Somescript.sh', вы можете назвать его как' ./somescript.sh && exit' – abasu