首页 > 系统服务 > 详细

Shell入门02

时间:2021-08-30 09:29:31      阅读:10      评论:0      收藏:0      [点我收藏+]

特殊变量:$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

Shell入门02

原文:https://www.cnblogs.com/bangbangzoutianya/p/15195135.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!