".bashrc的目的是什么?它是如何工作的?“问题寻求.bashrc
的目的和用途。另一个具有类似名称的文件是.bash_logout
。
这个文件应该首先存在吗?如果是的话,这个文件的作用是什么?
发布于 2018-02-14 11:03:39
.bash_logout
文件不一定存在。
当bash
登录shell退出时,它的内容由bash
提供。例如,当从终端会话注销时,文件可以执行各种形式的清理。
它可以用于执行任何shell代码,但也可以用于清除屏幕,如果登录是在非GUI环境中完成的。有些人还可能发现它对于显式终止从.bash_login
或.bash_profile
启动的程序很有用(例如,如果fetchmail
或一些类似的进程是作为用户守护进程启动的,或者是在后台启动的,那么最好在.bash_logout
中终止它)。
csh
shell有一个类似的文件名为.logout
,对应的zsh
外壳文件称为.zlogout
。据我所知,ksh
外壳没有类似的功能。
也见切线相关的问题登录壳和非登录壳的区别?
发布于 2018-02-13 20:13:13
来自man bash
:
当登录shell退出时,bash读取并执行文件~/.bash_logout和/etc/bash.bash_logout (如果文件存在)的命令。
发布于 2018-02-15 07:31:55
由于这个问题要求提供.bash_logout
文件的详细信息,所以最好列出各种类似的文件。我们通常有这6个文件用于不同的目的:
/etc/profile
~/.bash_profile
~/.bash_login
~/.bashrc
~/.profile
~/.bash_logout
在某些情况下,您可能还会看到.bash_history
文件,它存储用户执行的命令。
假设您知道.bashrc
和.bash_login
文件,那么让我们关注这些文件的执行顺序,然后我们来看看.bash_logout
文件的用途。
首先,当用户登录和如果.bash_profile
文件可用时,它将被执行,而不管是否存在.bash_login
或.profile
文件。
如果该文件不可用,那么首先将执行.bash_login
文件,如果该文件也不可用,则将执行.profile
文件。
请注意,当用户登录时,将读取.bash_profile
文件并执行该文件中的任何命令,但当用户启动新的shell时,不会读取该文件。如果用户启动了一个新的shell,就会读取.bashrc
文件,您对此非常了解。
进入.bash_logout
文件时,从名称中可以很清楚地看出,当用户注销时,该文件将被执行。正如人们可能同意的那样,bash的主要目的是提供一个使用户更容易工作的环境。因此,这个文件有助于创建一个环境,当用户注销时,该环境可以帮助执行一些命令。可能有太多的例子。为了举例说明,让我们假设管理员希望在用户注销时杀死该用户启动的所有进程。或者,用户可能希望清除.mysql_history
文件。他们可能希望在注销时复制一些文件或进行备份。所以你看,可能有很多例子。
假设用户每次注销时都希望生成/etc
目录的备份文件。因此,他们可能会打开.bash_logout
文件并键入以下命令:
tar -cvjf /etc ~/path/to/destination
https://unix.stackexchange.com/questions/423958
复制相似问题