login shell 和 non-login shell

login shell会读取/etc/profile和 ~/.bash_profile[~/.bash_login] [ ~/.profile] /* 三选一, 优先级依次降低*/  和~/.bashrc

non-login shell只会读取~/.bashrc配置文件


cat  > ~/.bash_profile << "EOF"

exec env -i HOME=$HOME  TERM=$TERM PS1='\u:\w\$ ' /bin/bash              /* -i, --ignore-environment 在一个空的环境中运行bash shell */

EOF


$su -  tester    /*切换tester用户时启动一个 login shell */


cat > ~/.bashrc << "EOF"
set +h                                              /* 关闭bash的hash功能, hash会记录命令的历史记录, 关闭后会确保调用PATH变量指定目录中的命令 */
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH

EOF

你可能感兴趣的:(login shell 和 non-login shell)