嵌入式终端启动脚本

时间:2016-08-01 07:57:22

标签: bash terminal phpstorm

我通常使用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

1 个答案:

答案 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,并重新编译它。源文件被硬编码到源代码中。