壳牌编程之变量

  

壳编程之变量

  

前言

  
      <李>什么是壳变量?李   <李>为什么需要壳变量?李   <李>如何定义壳变量?李   
  

本文主要带你了解壳变量的相关概念,壳变量的使用与作用等基础知识,适合初学者学习,了解。

  

一、壳变量的概念

  

?各种壳环境中都属于到了“变量”的概念.shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设定或系统环境的变化而变化。通过使用变量,壳程序可以提供更加灵活的功能,适应性更强。

  

?常见的壳变量的类型包括自定义变量,环境变量,位置变量,预定义变量。

  

1,自定义变量

  

?系统用户自己定义,只在自己的壳环境中有效。

  

下面通过实例来解释如何定义新的变量,如何查看和引用变量以及变量赋值的特殊操作。

  
 <代码类=" language-shell "> (root@localhost shell) #价值=https://www.yisu.com/zixun/tome
  (root@localhost shell) #=6.0版本
  (root@localhost shell) # echo $ V
  价值美元版本
  (root@localhost shell) #回声美元价值
  多美
  (root@localhost shell) # echo $版本
  6.0
  (root@localhost shell) #回声Version4.5美元
  5
  (root@localhost shell) # echo ${}版本4.5
  6.04.5//以上是变量定义与查看操作//下面是变量赋值特殊操作
  (root@localhost shell) # vlan=5.0 vlan
  bash: 5.0:未找到命令…
  (root@localhost shell) # vlan=皏lan 5.0”//双引号
  (root@localhost shell) # echo $ vlan
  vlan 5.0
  (root@localhost shell) #党卫军=8.8
  (root@localhost shell) # qq=皅q党卫军美元”
  (root@localhost shell) # echo $ qq
  QQ 8.8
  (root@localhost shell) # qq=' qq $党卫军'//单引号
  (root@localhost shell) # echo $ qq
  QQ党卫军美元
  (root@localhost shell) # ls lh useradd“//反撇号(esc下方按键)
  -rwxr-x - - - - - -。1根根116 k 2016年11月6日/sbin/useradd
  
  (root@localhost shell) #读呵呵//从键盘输入
  123
  (root@localhost shell) # echo $呵呵
  123
   
  

设置变量的作用范围,出口设置全局变量,bash可以进入子shell中。

  
 <代码类=" language-shell "> (root@localhost shell) # echo $呵呵
  123年
  (root@localhost shell) # bash//进入子shell中
  (root@localhost shell) # echo $呵呵//无法调用父shell变量
  
  (root@localhost shell) #退出//返回父shell中
  退出
  (root@localhost shell) # echo $呵呵
  123
  (root@localhost shell) #出口呵呵//定义全局
  (root@localhost shell) # bash
  (root@localhost shell) # echo $呵呵
  123
   
  

下面来介绍一下数值变量的运算

  

壳变量的数值运算多用于脚本程序的过程控制(如循环次数,使用量比较等)。在Bash shell环境中,只能进行简单的整数运算,不支持小数运算。

  

(1)加法运算:+
(2)减法运算:-
(3)乘法运算:*(需要转义)
(4)除法运算:/
(5)求模(取余)运算:%

  

运算实例:

  
 <代码类=" language-shell "> (root@localhost shell) # X=36
  (root@localhost shell) # Y=33
  (root@localhost shell) # expr X + Y美元
  69
  (root@localhost shell) # expr X - Y美元
  3.
  (root@localhost shell) # expr $ X \ * $ Y
  1188
  (root@localhost shell) # expr X/Y美元
  1
  (root@localhost shell) # expr $ X % $ Y
  3.
   
  

2。特殊变量

  

(1)环境变量,可以修改

  
 <代码类=" language-shell "> (root@localhost shell) # env
  XDG_SESSION_ID=11
  主机名=localhost.localdomain
  词=xterm
  SHELL=/bin/bash
  HISTSIZE=1000
  用户=根
  LS_COLORS=rs=0: di=01; 34: ln=01; 36: mh=00:π=40;33:所以=01;35:做=01;35:bd=40; 33; 01: cd=40; 33; 01:或=40;31;01:mi=01; 05; 37; 41:苏=37;41:sg=30; 43: ca=30; 41: tw=30; 42:噢=34;42:圣=37;44:前任=01;32:* . tar=01; 31: * . tgz=01; 31: * .arc=01; 31: * .arj=01; 31: * .taz=01; 31: * .lha=01; 31: * .lz4=01; 31: * .lzh=01; 31: * .lzma=01; 31: * .tlz=01; 31: * .txz=01; 31: * .tzo=01; 31: * .t7z=01; 31: * . zip=01; 31: *还是z=1; 31: *还是z=1; 31: * .dz=01; 31: * . gz=01; 31: * .lrz=01; 31: * .lz=01; 31: * .lzo=01; 31: * .xz=01; 31: * bz2=01; 31: * .bz=01; 31: * .tbz=01; 31: * .tbz2=01; 31: * .tz=01; 31: * . deb=01; 31: * . rpm=01; 31: * . jar=01; 31: * . war=01; 31: * . ear=01; 31: * .sar=01; 31: * . rar=01; 31: * .alz=01; 31: * .ace=01; 31: * .zoo=01; 31: * .cpio=01; 31: *解压=01;31:* .rz=01; 31: *。cab=01; 31: * . jpg=01; 35: * jpeg=01; 35: * gif=01; 35: * . bmp=01; 35: * .pbm=01; 35: * .pgm=01; 35: * .ppm=01; 35: * .tga=01; 35: * .xbm=01; 35: * .xpm=01; 35: * .tif=01; 35: * . tiff=01; 35: * . png=01; 35: * .=01; 35: * .svgz=01; 35: * .mng=01; 35: * .pcx=01; 35: *。mov=01; 35: * .mpg=01; 35: * .mpeg=01; 35: * .m2v=01; 35: * .mkv=01; 35: * .webm=01; 35: * .ogm=01; 35: * mp4=01; 35: * .m4v=01; 35: * .mp4v=01; 35: * .vob=01; 35: * .qt=01; 35: * .nuv=01; 35: * .wmv=01; 35: * .asf=01; 35: * .rm=01; 35: * .rmvb=01; 35: * .flc=01; 35: * .avi=01; 35: * .fli=01; 35: * . flv=01; 35: * .gl=01; 35: * .dl=01; 35: * .xcf=01; 35: * .xwd=01; 35: * .yuv=01; 35: * .cgm=01; 35: * .emf=01; 35: * .axv=01; 35: * .anx=01; 35: * .ogv=01; 35: * .ogx=01; 35: * .aac=01; 36: * .au=01; 36: * .flac=01; 36: * .mid=01; 36: * .midi=01; 36: * .mka=01; 36: *。mp3=01; 36: * .mpc=01; 36: * . ogg=01; 36: * .ra=01; 36: * . wav=01; 36: * .axa=01; 36: * .oga=01; 36: * . spx=01; 36: * .xspf=01; 36:
  路径=/usr/地方/sbin:/usr/地方/bin:/sbin:/bin:/usr/sbin:/usr/bin:/根/bin
  邮件=/var/spool/邮件/根
  PWD=/根/壳
  LANG=zh_CN.UTF-8
  HISTCONTROL=ignoredups
  家=/根
  SHLVL=2
  LOGNAME=根
  XDG_DATA_DIRS=/根/ocal/分享/flatpak/出口/分享/:/var/lib/flatpak/出口/分享/:/usr/地方/分享/:/usr/share/LESSOPEN=| |/usr/bin/lesspipe。sh % s
  呵呵=123
  XDG_RUNTIME_DIR=/运行/user/0
  _=/bin/env
  (root@localhost shell) #美元回声路径/usr/local/sbin:/usr/地方/bin:/sbin:/bin:/usr/sbin:/usr/bin:/根/bin/

壳牌编程之变量