介绍壳基础语法之变量
壳变量命名
壳变量调用
这篇文章将为大家详细讲解有关壳基础语法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
不论前端还是后端,再学会Linux的基础上,还应该学会写一些简单的壳。不止是工作,日常中想做一些东西,如果手动做就很累人也费时间,如果你会用shell脚本处理就很简单了,本文普及的shell的一些基础知识。后面还会持续更新。
壳基础语法之变量
壳变量命名
- <李>
变量只能由大小写字母,数字和下划线组成。
李> <李>变量名称不能以数字开头。
李> <李>变量可以存储数字类型或者字符串类型。
李> <李>变量赋值等号两边不能有空格。
李> <李>,字符串的变量可以用单引号或者双引号括起来。
李>定义变量:
?, ~, name=皒iaoka" ?,~,年龄=2
无效的定义
(
root@iz2ze0ajic0vbv28hcdctpz 你好]#,1212=陕西林业局 bash: 1212=陕西林业局:未找到命令 【root@iz2ze0ajic0vbv28hcdctpz 你好】#,? aasd=呵呵 bash:, ? aasd=呵呵:,未找到命令
壳变量调用
变量的调用使用美元符号或者美元符号加上花括号。一般来讲使用花括号的用法。
举例说明:
[root@iz2ze0ajic0vbv28hcdctpz 你好]#,苹果=hongfushi 【root@iz2ze0ajic0vbv28hcdctpz 你好】#,echo applepen美元 【root@iz2ze0ajic0vbv28hcdctpz 你好】#,echo ${苹果}钢笔 hongfushipen
如果不加花括号,就会读成applepen为一个变量,因此解析产生了歧义。
壳变量分类
- <李>
环境变量:保存操作系统运行时使用的参数。
李> <李>位置变量:传递脚本参数时使用。
李> <李>预定义变量:类似于环境变量,不同是它是不能重定义的。
李> <李>自定义变量:由用户自定义,可用于用户编写的脚本。
李>自定义变量:
定义变量数据库:
[root@iz2ze0ajic0vbv28hcdctpz 你好]#,=mysql数据库 【root@iz2ze0ajic0vbv28hcdctpz 你好】#,echo $数据库 mysql (root@iz2ze0ajic0vbv28hcdctpz 你好)#,echo ${数据库} mysql
环境变量:查看全局环境变量:
[root@iz2ze0ajic0vbv28hcdctpz ~] #, printenv XDG_SESSION_ID=2044 主机名=iz2ze0ajic0vbv28hcdctpz 词=xterm - 256颜色 SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=113.44.42.209 56074, 22岁 SSH_TTY=/dev/pts/1 用户=根 LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45: MAVEN_HOME=/usr/地方/apache-maven-3.6.0 邮件=/var/spool/邮件/根 路径=/usr/地方/apache-maven-3.6.0/bin:/usr/地方/jdk1.8.0_191/bin:/usr/地方/sbin:/usr/地方/bin:/usr/sbin:/usr/bin:/根/bin PWD=/根 JAVA_HOME=/usr/地方/jdk1.8.0_191 LANG=zh_CN.UTF-8 HISTCONTROL=ignoredups SHLVL=1 家=/根 LOGNAME=根 CLASSPATH=:/lib/dt.jar:/lib/tools.jar SSH_CONNECTION=113.44.42.209 56074, 172.17.187.244 22 LC_CTYPE=zh_CN.UTF-8 LESSOPEN=| |/usr/bin/lesspipe.sh % s XDG_RUNTIME_DIR=/运行/user/0 _=/usr/bin/printenv壳基础语法的示例分析