完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
定义变量变量名=值注意: 不能有空格var = 123 这样定义是错误的查看变量:以PATH为例echo $PATHecho "PATH"echo ${PATH}1.单引号与双引号的区别? 单引号内仅能是一般字符,而不能有特殊字符 nianxiongdi123@ubuntu:var='\\\\///////////n' nianxiongdi123@ubuntu:~$ echo $var \\\\///////////n 原样输出 双引号保留变量的内容,var="lang id $LANG" 得到是lang is en_US2.变量的累加 PATH=$PATH:/home/dmtsai/bin PATH="$PATH":/home/dmtsai/bin PATH={$PATH}:/home/dmtsai/bin3.单引号和双引号必须成对出现 name="i love " you " 错误 name="i love ' you" 正确4.父进程中变量,子进行要使用,需要在父进行中用export声明 nianxiongdi123@ubuntu:~$ echo $myname 123 nianxiongdi123@ubuntu:~$ export myname 在父进程中证明myname变量 nianxiongdi123@ubuntu:~$ bash 进入子进程 nianxiongdi123@ubuntu:~$ echo $myname 在子进程中查询变量 123 nianxiongdi123@ubuntu:~$ exit 退出子进程 exit5.取消变量 unset 变量名称6.查看版本号 version=$(uname -r) 或 version=`uname -r`环境变量命令:查看环境变量命令: env查看所有变量(环境变量和自定义变量)命令: set环境变量(列举主要的): 1.HOME 当前用户的主文件夹, 普通用户:/home/用户名 root: /root 2.SHELL 默认是/bin/bash 3.HISTSIZE 历史命令,记录总条数 4.MAIL 邮箱 5.PATH 执行查找的路径,目录间用冒号分割(:) 6.LANG 编码 7.RANDOM 随机数0~32767 echo $RANDOM 声明产生0~9随机数:declare -i number=$RANDOM*10/32768;注意:子进程紧会继承父进程的环境变量,子进程不会继承父进程的自定义变量,需要在父进程export,才能使用 环境变量相当于全局变量,自定义变量相当于局部变量。读取变量read:格式: read [-pt] 变量名 -p 提示信息 -t 时间(秒) nianxiongdi123@ubuntu:/etc$ read -p "please keyin ..." -t 30 aname please keyin ...123 nianxiongdi123@ubuntu:/etc$ echo $aneme 123declare声明: declare [-aixr] 变量名 -a :数组 -i :整数 -x :环境变量 -r :只读 declare -i sum=100+300+50 declare +x sum 代表取消x为环境变量 ,注意加号 nianxiongdi123@ubuntu:/etc$ var[1]='dsadasd' nianxiongdi123@ubuntu:/etc$ var[2]='zzzz' nianxiongdi123@ubuntu:/etc$ echo ${var[1]},${var[2]} dsadasd,zzzz 删除变量字符串 ${变量#关键字} 从开头到符合要求的最短数据删除 ${PATH#/*kerberos/bin:} ${变量##关键字} 从开头到符合要求的最长数据删除 ${PATH##/*kerberos/bin:} ${变量%关键字} 从末尾到符合要求的最短数据删除 ${PATH%/*kerberos/bin:} ${变量%%关键字} 从末尾到符合要求的最长数据删除 ${PATH%%/*kerberos/bin:} ${变量/旧字符串/新字符串} 旧字符串的第一个被新字符串替换 echo ${path/***in/SBIN} ${变量//旧字符串/新字符串} 旧字符串的全部被新字符串替换 echo ${path//***in/SBIN}替换: nianxiongdi123@ubuntu:/etc$ echo $username 该变量不存在,或者为空 nianxiongdi123@ubuntu:/etc$ username=${username-root} 不存在的话,把username复制为root nianxiongdi123@ubuntu:/etc$ echo $username root nianxiongdi123 @ ubuntu: / etc$ username = "" 变量为空 nianxiongdi123 @ ubuntu: / etc$ username =${username - root} 变量存在,但是为空,不予复制 nianxiongdi123 @ ubuntu: / etc$ echo $username 输出为空 ------------- 当变量为空的时候复制 nianxiongdi123 @ ubuntu: / etc$ username =${username :- root} nianxiongdi123 @ ubuntu: / etc$ echo $username root -------------- - 不存在的时候进行替换 : 为空的时候或不存在进行替换 + 变量有值进行替换
|
|
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4892 浏览 0 评论
87408 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4721 浏览 2 评论
3614 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2481 浏览 0 评论
1995浏览 3评论
1281浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1339浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1231浏览 0评论
1173浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 16:42 , Processed in 0.961431 second(s), Total 73, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号