在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、变量操作 A.变量显示、打印 变量的设置规则: 复制代码 代码如下: [root@bogon ~]# var="lang is $LANG" [root@bogon ~]# echo %var root@bogon ~]# echo $var lang is zh_CN.UTF-8 1. 单引号内的特殊字符则仅为一般字符 复制代码 代码如下: [root@bogon ~]# [root@bogon ~]# var='lang is $LANG';echo $var lang is $LANG 2. 在一串命令中,还需要通过其他命令提供的信息,可用单引号‘命令'或&(命令),举例:指令1在执行的过程中需要先知道指令2的的值,但是指令1,2在一串指令中 复制代码 代码如下: [root@bogon ~]# uname -r 2.6.18-371.el5 [root@bogon ~]# cd /lib/modules/$(uname -r)/kernel [root@bogon kernel]# 3. 变量的累加 复制代码 代码如下: [root@bogon kernel]# var=${var}yes [root@bogon kernel]# echo $var lang is $LANGyes 4. 数组变量设置与读取 复制代码 代码如下: [root@bogon ~]# array[1]=a
[root@bogon ~]# array[2]=b [root@bogon ~]# array[3]=c [root@bogon ~]# echo ${array[1]} a [root@bogon ~]# echo ${array[2]} [root@bogon ~]# echo ${array[3]} c C.取消变量(unset) D.变量查看(set) 比较重要的几个自定义变量 举例: 复制代码 代码如下: 比较重要的几个自定义变量 HISTFILE:历史记录存储位置 MAILCHECK:多少秒扫描次邮箱,查看是否有新邮件 PS1:提示符设置 $:目前这个shell的PID ?:刚才执行完命令的回传码。0为正确,非0为错误 E.变量键盘读取(read) 复制代码 代码如下: [plain] view plaincopyprint? [root@bogon ~]# read atest this is a test [root@bogon ~]# echo $atest this is a test [root@bogon ~]# read -p "please input.. " attest please input.. hello world =>提示信息 [root@bogon ~]# echo $atest hello world [root@bogon ~]# read -p "please input.. " -t 5 atest please input.. =>5秒未输入回到命令行模式 [root@bogon ~]# [root@bogon ~]# echo $atest hello world F.变量声明(declare) 复制代码 代码如下: [plain] view plaincopyprint?
[root@bogon ~]# echo $sum 100+50+10 =>默认当做字符串处理 [root@bogon ~]# declare -i sum=100+50+10 [root@bogon ~]# echo $sum 160 =>声明为int 因此可以做加法 [root@bogon ~]# declare -x sum [root@bogon ~]# export | grep sum declare -ix sum="160" =>查询到是环境变量 [root@bogon ~]# declare +x sum [root@bogon ~]# export | grep sum= >查询不到是环境变量 [root@bogon ~]# declare -r sum;sum=test bash: sum: readonly variable =>只读允许修改 G.变量内容删除 复制代码 代码如下: [plain] view plaincopyprint? [root@bogon ~]# path=${PATH};echo $path /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin [root@bogon ~]# echo ${path#/*:} =>key为*.(*为通配符) /usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 举例:${var##/key} 复制代码 代码如下: [plain] view plaincopyprint?
[root@bogon ~]# path=${PATH};echo $path /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin [root@bogon ~]# echo ${path##/*:} /root/bin H.变量内容替换 复制代码 代码如下: [plain] view plaincopyprint? root@bogon ~]# path=${PATH};echo $path /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin [root@bogon ~]# echo ${path/sbin/SBIN} /usr/kerberos/SBIN:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin 举例:${var//旧字符串/新字符串} 复制代码 代码如下: [plain] view plaincopyprint?
[root@bogon ~]# path=${PATH};echo $path /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin [root@bogon ~]# echo ${path//sbin/SBIN} /usr/kerberos/SBIN:/usr/kerberos/bin:/usr/local/SBIN:/usr/local/bin:/SBIN:/bin:/usr/SBIN:/usr/bin:/usr/X11R6/bin:/root/bin 二、环境变量 复制代码 代码如下: [root@bogon ~]# PS1='[\u@\h\A \W \#]\$ ' [root@bogon23:45 ~ 82]# |
请发表评论