Linux перегревается на Macbook Pro 12,1 (начало 2015 г.), но не на ноутбуке Asus

Используйте exec bash в конце

Сценарий bash работает в своем текущем окружении или в окружении своих дочерних окружений, но никогда на родительском окружении.

Однако этот вопрос часто задают потому, что хотят остаться в приглашении bash в определенном каталоге после выполнения сценария bash из другого каталога.

В этом случае просто выполните дочерний экземпляр bash в конце сценария:

#!/usr/bin/env bash
cd desired/directory
exec bash

Это создаст новую подпрограмму. Введите Ctrl+D или exit, чтобы вернуться в первую оболочку, в которой изначально был запущен сценарий.

Обновление

По крайней мере, в новых версиях bash, exec в последней строке больше не требуется. Более того, сценарий можно заставить работать с любой предпочитаемой оболочкой, используя переменную окружения $SHELL. В результате получается:

#!/usr/bin/env bash
cd desired/directory
$SHELL
2
14.01.2019, 00:03
0 ответов

Теги

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