shell脚本控制——使用新的shell启动脚本

如果每次用户启动新的bash shell时都能运行相关的脚本(哪怕是特定用户启动的bash shell),那将会非常方便,因为有时候你希望为shell会话设置某些shell特性,或者希望已经设置了某个文件。

这时可以回想一下当用户登录bash shell时要运行的启动文件。另外别忘了,不是所有的发行版都包含这些启动文件。基本上,以下所列文件中的第一个文件会被运行,其余的则会被忽略。

  • $HOME/.bash_profile
  • $HOME/.bash_login
  • $HOME/.profile

因此,应该将需要在登录时运行的脚本放在上述第一个文件中。

每次启动新的shell,bash shell都会运行.bashrc文件(一般而言,用户登录时会运行从$HOME/.bash_profile、$HOME/.bash_login或$HOME/.profile中找到第一个文件,而$HOME/.bashrc则是由非登录shell运行的文件)。对此进行验证,可以使用这种方法:在主目录下的.bashrc文件中加上一条简单的echo语句,然后启动一个新shell。

$ cat $HOME/.bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific environment
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
export PATH

# Uncomment the following line if you don't like systemctl's autopaging feature:

# export SYSTEMD_PAGER=

# User specific aliases and functions
echo "I'm in a new shell!"
$
$ bash
I'm in a new shell!
$
$ exit
exit
$

.bashrc文件通常也借由某个bash启动文件来启动,因为.bashrc文件会运行两次:一次是当用户登录bash shell时,另一次是当用户启动bash shell时。如果需要某个脚本在两个时刻都运行,可以将其放入该文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值