На этот вопрос уже есть ответ здесь:
Я пытаюсь использовать профили gnome-terminal для перехода к заданному каталогу и регистрации некоторых псевдонимов сразу после открытия терминала.
Я создал сценарий:
~ / Document / project1 / ops-setup.sh
#!/bin/bash
alias up='docker-compose up -d'
alias down='docker-compose stop'
...
Затем новый профиль gnome-terminal Project 1 , выполняющий следующую команду как «настраиваемая команда»
bash -c "cd ~/Document/project1;. ./ops-setup.sh"
. Я вижу, что мой скрипт запускается, когда я открываю терминал с этим профилем, терминал остается открытым, но он не покидает подсказку.
Дочерний процесс завершился нормально со статусом 0.
Я попытался добавить после него запуск bash, чтобы подсказка оставалась
bash -c "cd ~/Document/project1;. ./ops-setup.sh";bash
, но псевдоним не зарегистрирован (я думаю, это потому, что это новый процесс)
I также пробовал - init-файл
bash --init-file <(echo "cd ~/Document/project1;. ./ops-setup.sh")
, но bash жалуется
bash: cd ~ / Document / project1 ;. ./ops-setup.sh): Нет такого файла или каталога
Как я могу сохранить свои псевдонимы, зарегистрированные для этого профиля Project 1 ?
Есть несколько способов для держите терминал открытым после запуска скриптов, и это не моя проблема. Я действительно говорю о регистрации псевдонимов
После @dessert предложения с помощью сценария, который включает bashrc
как init-file
, вот, был, я сделал:
~/Document/project1/bash-wrapper.sh
#!/bin/bash
PROJECT_PATH=`dirname ${BASH_SOURCE[0]}`
cd $PROJECT_PATH
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
source $PROJECT_PATH/ops-setup.sh
И определенный эта пользовательская команда в терминальном гномом профиле:
bash --init-file ~/Documents/project1/bash-wrapper.sh