我通常使用bash脚本来设置我的环境(主要是与Docker交互的别名),即:
# ops-setup.sh
#!/bin/bash
PROJECT_NAME="my_awesome_project"
PROJECT_PATH=`pwd`/${BASH_SOURCE[0]}
WEB_CONTAINER=${PROJECT_NAME}"_web_1"
DB_CONTAINER=${PROJECT_NAME}"_db_1"
alias chroot_project="cd $PROJECT_PATH"
alias compose="chroot_project;COMPOSE_PROJECT_NAME=$PROJECT_NAME docker-compose"
alias up="compose up -d"
alias down="compose stop;compose rm -f --all nginx web python"
alias web_exec="docker exec -ti $WEB_CONTAINER"
alias db="docker exec -ti $DB_CONTAINER su - postgres -c 'psql $PROJECT_NAME'"
# ...
我希望在打开嵌入式终端时运行它们。
我试过了Startup Tasks,但它们并没有在我的终端上下文中运行。
由于我的每个项目都有一个专用脚本,因此我无法从.bashrc
或其他项目运行它们。
如何在终端开启时设置自动设置别名?
今天我每次打开一个新的嵌入式终端时都会手动运行. ./ops-setup.sh
。
答案 0 :(得分:0)
您可以在.bashrc文件中创建一个别名,如下所示:
alias ops-setup='bash --init-file <(echo '. /home/test/ops-setup.sh'; echo '. /home/test/.bashrc')'
如果你调用ops-setup,它会在你的终端内部打开一个新的bash,并像通常那样打开源.bashrc,以及你自己的脚本。
我认为完全自动化的唯一方法是修改shell的源代码,例如: bash,并重新编译它。源文件被硬编码到源代码中。