每次终端打开时执行命令

if *_*one 20 terminal ubuntu

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

 /bin/bash --login
Run Code Online (Sandbox Code Playgroud)

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

小智 21

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

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

还:

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

所以,这意味着如果你在本地登录,你应该可以使用~/.profile; 但是,如果您通过 ssh 连接到系统,那么您将需要使用~/.bashrc. ~/.bashrc在本地登录时也适用;所以,使用它刚刚成为惯例。


std*_*err 5

尝试:

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

在此输入图像描述

或者

  • gnome-terminal --tab -e "your command"打开一个新选项卡。

更多信息:ManPage Gnome-terminal

  • 实际上,只需检查“作为登录 shell 运行命令”就可以解决我的问题。 (2认同)