位置: 编程技术 - 正文
一、变量操作
A.变量显示、打印语法:echo $varB.变量设置语法:var=value
变量的设置规则:1.变量两端不能直接接空格符2.变量名称只能是因为字母与数字,但开头不能使数字3.双引号内的特殊字符如$等,保持原本特性1. 单引号内的特殊字符则仅为一般字符2. 在一串命令中,还需要通过其他命令提供的信息,可用单引号‘命令'或&(命令),举例:指令1在执行的过程中需要先知道指令2的的值,但是指令1,2在一串指令中3. 变量的累加4. 数组变量设置与读取
C.取消变量(unset)语法: unset var
D.变量查看(set)语法:set
比较重要的几个自定义变量HISTFILE:历史记录存储位置MAILCHECK:多少秒扫描次邮箱,查看是否有新邮件PS1:提示符设置$:目前这个shell的PID?:刚才执行完命令的回传码。0为正确,非0为错误
举例:
E.变量键盘读取(read)语法:read [-pt] var选项与参数:-p:后可跟提示信息-t:后跟等待输入的描述举例:
F.变量声明(declare)语法:declare [-aixr] var选项与参数 declare后不接任何内容,代表查询所有变量,作用和set一致-a :将后面名为 variable的变量定义成为数组 (array)类型-i :将后面名为 variable的变量定义成为整数数字 (integer)类型-x :用法与 export一样,就是将后面的 variable变成环境变量;+x :将环境变量变为自定义变量-r :将变量配置成为 readonly类型,该变量不可被更改内容,也不能 unset(需要注销后再登陆才能变回)举例:
G.变量内容删除语法${var#/key}:从前往后删除符合key最短的那一个${var##/key}:从前往后删除符合key最长的那一个${var%/key}:从后往前删除符合key最短的那一个${var%%/key}:从后往前删除符合key最短的那一个举例:${var#/key}举例:${var##/key}
H.变量内容替换语法:${var/旧字符串/新字符串}:替换第一个满足条件的字符串${var//旧字符串/新字符串}:替换所有满足条件的字符串举例:${var/旧字符串/新字符串}举例:${var//旧字符串/新字符串}
二、环境变量普通变量可以理解为局部变量,环境变量可以理解为全局变量,登陆成功获得的bash shell就是一个进程,在此情况下再去打开一个新SHELL就是他的子进程,子进程是无法获取父进程的自定义变量,但是可以获取父进程的环境变量A.环境变量导出(export )语法:export varB.环境变量查看(env )语法:env比较重要的几个环境变量HOME:代表用户的主文件夹SHELL:代表目前使用的shell是哪个程序,我现在使用的是/bin/bashHISTSIZE:历史记录最大存储条数MAIL:mail命令系统收信时,系统会读取的信箱文件PATH:执行文件查找路径LANG:语系信息RANDOM:随机数变量(0~)三、提示符的设置(PS1)变量PS1='[u@h W]$ '记录了命令提示符的显示格式 [root@bogon ~]#符号意义d :可显示出[星期月日]的日期格式,如:"Mon Feb 2"H :完整的主机名。h :仅取主机名在第一个小数点之前的名字t :显示时间,为 小时格式的[HH:MM:SS]T :显示时间,为 小时格式的[HH:MM:SS]A :显示时间,为 小时格式的[HH:MM]@ :显示时间,为 小时格式的[am/pm]样式u :目前使用者的账号名称,如[root];v :BASH的版本信息,如鸟哥的测试主板本为 3.2.(1),仅取[3.2]显示w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~取代;W :利用 basename函数取得工作目录名称,所以仅会列出最后一个目录名。# :下达的第几个命令。$ :提示字符,如果是 root时,提示字符为 #,否则就是 $举例:
推荐整理分享Shell编程之Shell变量学习总结(shell编程之循环语句for与while),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:shell编程简单实例,shell编程基本步骤,shell编程之for循环,shell编程之循环语句for与while,shell编程基本步骤,shell编程之在范围内取四个数,shell编程之for循环,shell编程之for循环,内容如对您有帮助,希望把文章链接给更多的朋友!
nginx日志切割脚本分享 #!/bin/bashLogs_path="/data/Application/nginx/logs"Pid_path="/data/Application/nginx/nginx.pid"Month=`date+%Y-%m`Date=`date+%Y-%m-%d`Time=`date+%H`WaitTime=$((**))LogCut(){cd$Logs_pathmkdir-p$Mo
linux删除无效链接文件脚本分享 Linux终端下执行,用于删除无效的链接文件。#!/bin/shusage(){echo"RemoveBroken0.1,ashellscripttoremovebrokenlinkfiles."echo"License:MIT,(c)chenzhiqiang"echo"Usage:"echo"$0--helpprintthi
shell学习教程获取命令行参数示例 #!/bin/bashwhilegetoptsa:bcoptdocase$optina)echo"aaa"echo$OPTARGb)echo"bb"c)echo"ccc"*)echo"error"esacdone
友情链接: 武汉网站建设