壳编程之变量
前言
-
<李>什么是壳变量?李>
<李>为什么需要壳变量?李>
<李>如何定义壳变量?李>
本文主要带你了解壳变量的相关概念,壳变量的使用与作用等基础知识,适合初学者学习,了解。
一、壳变量的概念
?各种壳环境中都属于到了“变量”的概念.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/壳牌编程之变量