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
本文详细介绍了Bash shell的配置方式,包括loginshell与non-loginshell的区别,以及如何通过配置文件~/.bash_profile和~/.bashrc来设置环境变量、路径变量等。对于希望深入了解Bash shell工作原理及定制个性化Shell环境的读者非常有用。

3523

被折叠的 条评论
为什么被折叠?



