2019-08-31-bash变量设置
Bash变量
categories: Linux
变量的命名和赋值
# name1=Vbird # 等号周围没有空格 # name2=$name1 # name2内容为Vbird # name2="$name1" # name2内容为Vbird, 双引号可以引用变量内容 # name2='$name1' # name2内容为$name1 # name2="$name1"yes # name2内容为Vbirdyes # name3=`ls` # 使用重音符号``可调用命令的返回值, name3的内容位ls显示的东西 # echo $name3 # 查看name3的内容, 注意$符号 # echo $? # ?的值代表上一条命令的返回值, 如果上一条命令没有错误, 返回值通常为0 # export name3 # 让name3变为环境变量, 可以在子进程中访问 # export # 查看所有环境变量 # env # 查看所有环境变量 # set # 查看所有变量
读取变量, 数组, 声明
read -p "接提示字符" -t 等待输入最长时间 var_name
: 将输入的字符传递给var_namedeclare [-axir] variable
: 将variable定义为不同的类型:-a
: 数组-i
: 整数-x
: 环境变量-r
: readonly
# declare -i sum=100+200 # echo $sum # 输出300
数组
var[1]=aaa
: 定义数组echo ${var[1]}
: 显示数组
匹配替换删除并输出
echo ${var##expr}
: 从var开头匹配expr表达式, 并且删除匹配到的部分(var内容没有改变), 输出剩下的. 贪婪匹配.echo ${var#expr}
: 开头, 非贪婪匹配.echo ${var%%expr}
: 结尾, 贪婪匹配.echo ${var%expr}
: 结尾, 非贪婪匹配.echo ${var//text/sub}
: 在var中, 取代text
为sub
, 匹配到的全部取代.echo ${var/text/sub}
: 仅取待第一个.
根据str的内容设置var
var=${str-newvar}
: 如果str
存在,var=$str
, 如果不存在,var="newvar"
var=${str=newvar}
: 如果str
存在, 设置var=$str
, 如果str
不存在, 就设置str="newvar", var="newvar"
var=${str?novar}
: 如果str
存在,var=$str
, 如果不存在, 报错novar
history
history 3
: 查看3条历史命令history -c
: 清除historyhistory -w
: 保存history到histfileshistory -r
: 从historyfiles读取history!23
: 执行history编号23的命令!expr
: 从history列表中的命令, 从下至上, 开头匹配expr
, 直到第一个匹配成功, 执行这条命令!!
: 执行上一条命令
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tianyilt@qq.com
文章标题:2019-08-31-bash变量设置
本文作者:tianyilt
发布时间:2019-12-07, 23:40:55
最后更新:2019-12-10, 08:53:01
原始链接:http://yoursite.com/2019/12/07/Linux/2019-08-31-bash%E5%8F%98%E9%87%8F%E8%AE%BE%E7%BD%AE/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。