当前位置:网站首页>Bashrc and profile
Bashrc and profile
2022-07-07 14:14:00 【sinat_ thirty-six million seven hundred and eighty-nine thousan】
Reading guide : Interactive shell And non interactive shell; login shell and non-login shell
Interactive mode is shell Waiting for your input , And execute the order you submitted . This pattern is called interactive because shell Interact with users . This pattern is also familiar to most users : Sign in 、 Execute some orders 、 Sign off . When you sign back ,shell It's over . shell It can also run in another mode :
Non interactive mode . In this mode ,shell Don't interact with you , Instead, read the commands stored in the file , And execute them . When it reads to the end of the file ,shell It's over .
One 、bashrc And profile Are used to save the user's environment information . Let's go through each of these :
/etc/profile( overall situation , For interactive login shell): This file sets the environment information for each user of the system , When the first user logs in , The document is executed . And from /etc/profile.d Directory of configuration files shell Set up .
When the /etc/profile If there is any modification, you must restart the modification to take effect , This change takes effect for every user .
/etc/pro.d:.d Presentation directory , The directory contains some startup scripts required by the application , It includes color 、 Language 、less、vim And which Some additional settings of the command . The reason why these script files can be executed automatically , Because in /etc/profile Use one for Loop statements to call these scripts . These script files are used to set some variables and run some initialization processes .
# for example :
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then # Judge /etc/profile.d Is it a directory
for i in /etc/profile.d/*.sh; do # If it's a directory , Go to this directory , Take out each shell Program
if [ -r $i ]; then # If it's time to shell It can be executed
. $i # Then execute it
fi
done
unset i
fi/etc/bashrc( overall situation , For non interactive non-loginshell): For each run bash shell Of users executing this file . When bash shell When opened , The file is read ( There are some linux In version /etc There is no more bashrc file ).
If you want to use it for all bash Users who modify a configuration and open it later bash You can modify this file if it takes effect , You don't need to restart to modify this file , Reopen a bash Effective .
~/.bash_profile( Interactive 、login Way in bash function ): Each user can use this file to input the shell Information , When the user logs in , The file is only executed once ! By default , He sets some environment variables , Execute the user's .bashrc file .
This file is similar to /etc/profile, It also needs to be restarted to take effect ,/etc/profile Effective for all users ,~/.bash_profile Only valid for the current user .
~/.bashrc( Interactive non-login Way in bash function ): This file contains... For a specific user bash shell Of bash Information , When the user logs in and every time the new shell when , The file is read . Each user has one .bashrc file .
~/.bash_logout: Every time you exit the system ( sign out bash shell) when , Execute the document .
Two 、 similarities and differences :
1、bashrc It will run automatically after the system starts .profile Only after the user logs in .
2、/etc/profile Variable set in etc ( overall situation ) Can work for any user , and ~/.bashrc Variable set in etc ( Local ) Can only inherit /etc/profile The variables in the , They are " Father and son " Relationship .
3、 After setting , It can be used source bashrc The command to update bashrc, You can also use source profile The command to update profile.
3、 ... and 、 Get a... When logging in shell Process time , There are three steps to read the environment profile
1、 The global environment variable profile is read in first /etc/profile, Then read the additional set document according to its content , Such as :/etc/profile.d and /etc/inputrc
2、 Then according to different user accounts , Go to their home directory to read ~/.bash_profile, If this can't be read, read ~/.bash_login, This can't be read before ~/.profile, These three document settings are basically the same , Read has priority
3、 Then read according to the user account ~/.bashrc. as for ~/.profile And ~/.bashrc All of them have the function of personalized customization .
~/.profile You can set the exclusive path of this user , Environmental variables, etc , It can only be executed once when logging in
~/.bashrc It is also a user specific setting document , You can set the path , Command alias , Every time shell script It will be used once for the execution of
边栏推荐
- UML 顺序图(时序图)
- TPG x AIDU | AI leading talent recruitment plan in progress!
- Environment configuration of lavarel env
- AutoCAD - how to input angle dimensions and CAD diameter symbols greater than 180 degrees?
- Parameter keywords final, flags, internal, mapping keywords internal
- CSMA/CD 载波监听多点接入/碰撞检测协议
- The difference between memory overflow and memory leak
- 使用day.js让时间 (显示为几分钟前 几小时前 几天前 几个月前 )
- 2022-7-6 Leetcode 977. Square of ordered array
- Is the compass stock software reliable? Is it safe to trade stocks?
猜你喜欢

Parsing of XML files

Use day JS let time (displayed as minutes, hours, days, months, and so on)

Wired network IP address of VMware shared host

How to check the ram and ROM usage of MCU through Keil

AI talent cultivation new ideas, this live broadcast has what you care about

TPG x AIDU | AI leading talent recruitment plan in progress!

UML sequence diagram (sequence diagram)

最长上升子序列模型 AcWing 482. 合唱队形

Leetcode simple question sharing (20)

通过 iValueConverter 给datagrid 的背景颜色 动态赋值
随机推荐
杭电oj2054 A == B ? ???
一个简单LEGv8处理器的Verilog实现【四】【单周期实现基础知识及模块设计讲解】
【AI实战】应用xgboost.XGBRegressor搭建空气质量预测模型(二)
MySQL "invalid use of null value" solution
Seven propagation behaviors of transactions
c#利用 TCP 协议建立连接
docker部署oracle
648. Word replacement: the classic application of dictionary tree
手里的闲钱是炒股票还是买理财产品好?
oracle 非自动提交解决
TPG x AIDU | AI leading talent recruitment plan in progress!
THINKPHP框架的优秀开源系统推荐
VSCode 配置使用 PyLint 语法检查器
Parameter keywords final, flags, internal, mapping keywords internal
搜索引擎接口
Realization of search box effect [daily question]
供应链供需预估-[时间序列]
Advanced Mathematics - Chapter 8 differential calculus of multivariate functions 1
c#通过frame 和 page 切换页面
PERT图(工程网络图)