浅谈Bash shell的几种运行模式和cron环境变量导致command not found
参考
Linux shell脚本编程大全
bash的三种运行模式:
不同模式运行,自然加载的环境变量就不同,command not found 就是因为PATH环境变量不正确导致命令找不到,由于cron是一种非登录非交互模式运行,PATH环境变量只有少量的路径
1.登录(login shell)##
用户登录机器获得的shell自然就是登录和交互的shell,想一想,你是不是需要登入,并且你这个shell是不是执行一条命令,它就给你反馈一个结果。
当登入Linux系统时,bash shell会作为登入shell启动。同时会从下面的5个不同的启动文件读取命令:
- /etc/profile
- $HOME/.bash_profile
- $HOME/.bashrc
- $HOME/.bash_login
- $HOME/.profile
shell会按照按照下列顺序,运行第一个被找到的文件,余下的则被忽略:
- $HOME/.bash_profile
- $HOME/.bash_login
- $HOME/.profile
CentOS Linux系