打开终端时自动执行命令

Ant*_*ton 1 bash terminal

每当我打开终端时,是否可以让终端运行特定命令(在我的情况下为“source /etc/environment”)?谢谢你。

cla*_*123 6

是的,

第一次尝试:

nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

如果有任何现有内容,只需转到文件末尾,否则它是一个空白文件。无论哪种方式,在此文件的末尾,添加:

echo Hello Antoin, sourcing now ...

source /etc/environment
Run Code Online (Sandbox Code Playgroud)

保存文件:

在纳米:

  1. 退出ctrl+x
  2. 询问是否要保存,所以 y
  3. 它显示了一个要写入的文件名,只是enter为了确认并退出

跑

. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

在您的屏幕上,您应该看到如下内容:

$ Hello Antoin, sourcing now ...
Run Code Online (Sandbox Code Playgroud)

以及您在正常情况下希望看到的任何内容 source /etc/environment

现在每当您打开新终端时也会发生这种情况,直到您~/.bashrc再次编辑并按照这些步骤保存和重新加载这些设置。

解释

当你说

每当我打开终端

我猜这是非登录交互式 shell 的情况,当您登录到您的机器时,可能是在 GUI 环境中并正在启动新终端。

在这种情况下,~/.bashrc只要你打开一个新终端,输入命令就会运行它。

我们使用nano它是因为它很简单并且默认安装在许多发行版上,如果您愿意,请使用其他编辑器,例如vim ~/.bashrc

波浪号~是$HOME变量的快捷方式。所以如果你的用户名是antoin那么如果你测试echo ~/.bashrc它应该显示:/home/antoin/.bashrc,.bashrc我们需要编辑的文件的实际路径。

我们做到了. ~/.bashrc,这是source ~/.bashrc.

该echo Hello Antoin, sourcing now ...行是可选的,只是一个给我们一些反馈的示踪剂,因此如果您甚至没有看到该行,则说明其他错误或由于某种原因您的系统无法加载~.bashrc,我们将知道您的情况需要不同的答案.

进一步阅读

更多关于其他类型的shell,例如登录shell,有什么区别,读取这些配置文件的顺序:http : //hacktux.com/bash/bashrc/bash_profile