Shell入门02
特殊变量:$n
- $0 获取当前脚本的名称
 - $1 获取第一个参数
 - $2 获取第二个参数
..... - 如果要获取第10个以后的参数请使用${10}、${11}...如果不加大括号的话,比如$10或误以为获取的是第一个参数再拼接0
 - $# 获取所有参数的个数
 - $* 获取所有的参数
 - $@ 也是获取所有的参数
 - 以上两个当不加双引号时,输出的效果都是一样的,如格式为: "$1 、$2 ...$n"
 - 如果加上双引号后,$@获取一组参数列表对象, 格式为: "$1"、 "$2" "$n",通过循环就可以看出来
 
echo '循环输出$*的参数'
for item in "$*"
do
  echo $item
done
echo ------------------------------------------
echo '循环输出$@的参数'
for item in "$@"
do
  echo $item
done

- $?获取上条命令的退出状态码,或函数返回值,返回0代表执行成功,非0代表执行失败
 - $$获取当前shell环境的进程id
 

Shell环境的加载原理
- 
用户进入linux系统就会初始化shell环境,就会加载系统配置文件和用户个人配置文件中的环境变量
 - 
shell分为登录环境和非登录环境
- 登录环境是指:需要用户名和密码登录的shell环境
 - 非登录环境是指:不需要用户名和密码登录的shell环境
 
 - 
shell配置文件分为全局配置文件和用户个人配置文件
- 全局:/etc/profile、 /etc/profile.d/*.sh 、/etc/bashrc
 - 个人:/.bash_profile、/.bashrc
 
 - 
环境变量加载初始过程

 - 
如果验证当前是登录环境还是非登录环境:使用$?
- 如果返回的是-bash说明是登录环境
 - 如果返回的是bash说明是非登录环境
 
 - 
非登录环境切换登录环境如: su testuser - l (输入密码)
 - 
登录环境切换为非登录环境输入:bash
 - 
如再非登录环境/.bashrc中添加了环境变量 (环境变量中,变量名建议都大写),如果要立马生效,需要重载配置文件
 
TESTA=888
export TESTA
使用source /home/xxx/.bashrc
本文来自博客园,作者:弩哥++,转载请注明原文链接:https://www.cnblogs.com/bangbangzoutianya/p/15195135.html
                    
                
                
            
        
浙公网安备 33010602011771号