我是Linux新手,尤其是Ubuntu 11,我今天才第一次尝试。我需要Linux进行一些需要基于Linux的模拟器的开发,所以我正在尝试编写一个shell脚本来设置我的开发环境。
现在我在我的家庭目录中创建了一个.scripts
文件夹,并通过.bashrc
导出它将其添加到我的路径中,所以每次启动新的终端实例时,我都可以执行任何自定义脚本我放在那里。
现在,这些脚本中有一个(实际上是三个)设置了所有与dev相关的路径,导出,以及切换到此dev的相应文件夹的cd
命令。然而(如果你已经知道这一点,请再次原谅我......)脚本在它自己的'session'中运行(因为缺少一个更好的词),所以尽管enviro-vars等都已经设置并且执行了(事实证明)通过嵌入echo
调用,当脚本完成并且我返回到我执行脚本的终端时,其他会话不再存在,除了清除屏幕和回显输出之外,没有别的显示脚本已经运行。
现在我不确定甚至可以将该脚本之外的导出变量扩展回调用'instance',或者我可以设置某种标志来执行现有会话中的脚本,所以我是难倒。
现在,如果不可能,那么至少可以写一个脚本或设置一个可以启动新终端窗口的图标,然后执行脚本但保持窗口打开并初始化?
谢谢!
标记
答案 0 :(得分:2)
将脚本放在~/.bashrc
中的函数定义中。例如
enter_dev_env() {
cd /home/foo/src
export foo="bar"
}
答案 1 :(得分:1)
使用source运行命令。
source foo.sh