每次打开终端时执行一条命令


19

我在Ubuntu 13.04上,我想配置我的终端,以便每次打开新的选项卡/窗口时,它都会立即自动执行以下命令。

 /bin/bash --login

我怎样才能做到这一点?在带有iTerm 2的OSX上,可以选择在启动时运行命令。我想在这里我应该通过某种点文件来实现...


为什么要这样做?当您打开新的终端时,此命令已经执行。
SPACK

不,这不对。我之所以需要它,是因为我使用的某些开发环境中存在一个错误。该--login标志是至关重要的。
如果__name__为None,则

Answers:


21

将命令添加到您的~/.bashrc。从技术上讲,你应该能够增加~/.profile以及从man bashINVOCATION文档:

如果使用name调用bash sh,它会尝试尽可能模仿历史版本的启动行为sh,同时还要符合POSIX标准。当作为交互式登录外壳程序或带--login选项的非交互式外壳程序调用时,它首先尝试按此顺序从/etc/profile和读取和执行命令 ~/.profile

也:

Bash尝试确定何时使用标准输入连接到网络连接来运行它,就像通常由远程Shell守护程序rshd或安全Shell守护程序执行时一样sshd。如果bash确定它是以这种方式运行的,则bash从~/.bashrc和读取并执行命令~/.bashrc(如果这些文件存在并且可读)。

因此,这意味着,如果您在本地登录,则应该可以使用~/.profile; 但是,如果您使用ssh进入系统,则需要使用~/.bashrc~/.bashrc在本地登录时也适用;因此,使用它已成为惯例。


3

尝试:

  • 在终端中,编辑>首选项>选项卡标题和命令> 运行我的shell的自定义命令

在此处输入图片说明

要么

  • gnome-terminal --tab -e "your command" 打开一个新标签页。

更多信息:ManPage Gnome终端


2
实际上,只需检查已run command as login shell解决的问题即可。
如果__name__为None
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.