2021-05-07

【●】shell变量
一、变量的设置和取消
  1.变量 
  ● 常量  固定不变
  ●以固定名称存放,可能会变化的值
    —提高脚本对任务需求、运行环境变化的适应能力
    —方便在脚本中重复使用
  2.变量的种类
   —1.自定义变量,名称可以用数字、字母、下划线,不要以数字开头,不能使用特殊符号。
     变量名称=变量的值
     a=10               #创建变量
     echo     $a      #调用变量
     unset     a       #取消变量 
echo ${a}RMB     #使用大括号可以避免混淆    
   —2. 环境变量,由系统维护,使用时可直接调用,用来设置工作环境只有个别变量用户可以直接修改
   USER 当前用户名  HOME 当前用户的家目录     UID   当前用户的ID号
   SHELL   当前用户的解释器   HOSTNAME  主机名   PWD  当前位置
   PATH    存储命令路径
   —3.位置变量与预定义变量
     $1              执行脚本时后面跟的第一个位置参数
     $2              执行脚本时后面跟的第二个位置参数
     $3              执行脚本时后面跟的第三个位置参数
     $*              执行脚本时后面跟的所有位置参数
     $#             执行脚本时后面跟的所有位置参数的个数
     $$             随机的进程号
     $?              判断上一条指令是否成功,0是成功,非0则为失败
  ◆ 编写脚本,创建用户abcd,配置密码1223456(运用变量后可多次运用$)
    [root@svr7 opt]# vim test07.sh
    useradd  $1       #使用位置变量$1,在执行脚本时灵活定义用户名
    echo "$2" | passwd --stdin $1     #使用位置变量$2定义密码
    [root@svr7 opt]# bash test07.sh  xyz  123  #执行脚本时,脚本名字后面   跟的第一个位置参数是xyz,在脚本中作为要创建的用户名,第二个位置参数是   123,在脚本中作为配置的密码
  ◆ —env         可以显示所有的环境变量
    env | grep  HOSTNAME    #可以配合grep搜索
     —set          显示所有的变量       
    abcd=8888
    set | grep abcd                  #可以配合grep搜索
 3.变量的扩展知识
  ●  引号与反撇号
     —“”    双引号    界定范围
     —‘’    单引号    界定范围    屏蔽特殊符号功能
     —  ``  反撇号     可以获取命令的执行结果,或者使用$()可以实现相同效果
  ● 使用read指令,以交互式使用脚本
    #!/bin/bash
    read -p "请输入用户名称:" n      #使用变量n存储用户敲的名字
    useradd  $n
    read -p "请输入密码:" m            #使用变量m存储用户敲的密码
    echo "$m" | passwd --stdin $n

    stty -echo 屏蔽回显
    stty   echo 恢复回显
    #!/bin/bash
    read -p "请输入用户名称:" n 
    useradd  $n
    stty -echo
    read -p "请输入密码:" m 
    stty  echo
    echo "$m" | passwd --stdin $n
 ●使用export发布全局变量
   用户-----bash------bash
   局部变量
  a=10          #创建变量,默认变量是局部变量
  export  a     #将已有的局部变量发布为全局变量
  export  b=20   #创建全局变量
  export   -n  b   #将全局变量恢复为局部变量
  注意,测试时要在父进程创建变量,然后可以执行bash进入子进程测试效果,如果要返回父进程要执行exit指令
pstree  | grep  bash  重新打开一个个窗口查看共打开几个进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值