2015-11-05 3 views
0

Я написал сценарий оболочки, в котором я скопировал файл .bashrc, а также пользовательские dotfiles в резервную папку, а затем заменил их в своей домашней папке на другой .bashrc-файл, пользовательские dotfiles.Как исправить файл с помощью сценария оболочки

Однако, после того, как скрипт выполнит свою работу, если я попытаюсь выполнить псевдонимы, включенные в новые файлы, я получу ошибку No command found. Только после того, как я отправлю файл .bashrc вручную в терминал, у меня есть к ним доступ.

Из того, что я понимаю, скрипт, который я запускаю, выполняется в подчиненной оболочке (?), Которая будет завершена при выполнении.

Как запустить сценарий и получить новые команды/псевдонимы/функции без необходимости самостоятельно запускать файл .bashrc или перезапустить терминал?

+0

'source' или начать новую оболочку. Ах ты не хочешь этих ... Странно. Ну, я пару раз видел дублированный вопрос с сумасшедшей техникой (которую я бы не рекомендовал ...). Удачи вам в этом. –

+0

Дело в том, что я хочу запустить скрипт, который включает в себя новые команды, а затем сразу же будет доступен. Внутри моего нового .bashrc я подбираю пользовательские dotfiles, но это, похоже, не работает (я думаю, это потому, что я сказал, скрипт работает в своей оболочке) – LuisF

+0

Любое разумное объяснение, почему вы * не хотите к источнику .bashrc? –

ответ

0

Ну, похоже, что вместо запуска моего скрипта через sh script.sh я могу указать его как source script.sh, который будет вести себя точно так, как я хотел.

Solution