Linux学习之变量(2)

1.变量
变量显示:echo $var
变量赋值: myvar=test123
变量设置原则:
  •     变量与赋值之间,以“=”号连接, myvar=123
  •     等号两边不能有空格,如“myva = 123”或者“myvar=hello welcome”都是错的
  •     变量开头不能位数字
  •     变量内容有空格可以使用双引号“”或者单引号''将变量内容集合起来。但是,如果双引号中有特殊字符如“$”,可以保持原有特性,
        例如:
            myvar="lang is $LANG, 执行  echo $myvar    ,显示 lang is en_US.UTF-8
  •    单引号内的字符,仅为一般字符
        例如:myvar='lang is $LANG' , 执行  echo $myvar, 显示 lang is $LANG
   转义字符“\”,可以将特殊字符转化为一般字符
   在一串命令中,还需要通过其他命令提供的信息,可以使用“$(命令)”
        例如: “version=$(uname -r)”,再echo $version,显示3.11.0-15-generic
   当变量中增加内容时,可以使用“$变量名称”或者“${变量}累加内容”
         例如: PATH="$PATH":/home/bin   
    如果变量需要在其他子进程中执行,可以使用export来讲变量变成环境变量, export var
    通常大写字符为系统变量,自定义变量使用小写字符
    变量取消,使用unset,例如unset myvar
    反单引号(`)中的命令会先执行,然后将结果作为外部的输入信息。
        例如: ls -lrt `locate crontab`
    子进程不能继承父进程的自定义变量,如需使用要用export转换成环境变量

2.环境变量
env
列出所有环境变量
HOME
用户主文件夹
SHELL
当前shell程序
PATH
执行文件查找路径,目录之间以冒号(:)分隔
set
查看所有变量,包括环境变量和自定义变量
PS1
提示符设置

3.其他特殊命令
read,读取从键盘传入的字符。可选参数, -p显示输入提示符,-t等待输入时间。
declare/typeset, 声明变量类型
命令 作用 用法
常用参数
read
读取从键盘传入的字符
read [-pt] var
-p显示输入提示符
-t等待输入时间
declare
声明变量类型
declare [-aixr] var
a数组,i整数,x装换成环境变量,r将变量设为readonly
var[index]=value
数组
var[0]=test1
$var[0]数组第一个元素,$var整个数组
ulimit
用户资源限制,配额
ulimit [-SHacdfltu] [配合]

history
历史命令


alias
别名



4.变量的删除,修改,替代和替换
删除:
$(PATH#/*kerberos/bin:)  #代表从变量内容最前面开始删除,且删除最短的一个,通配符*代表任意个数字符
  
变量设置方式
说明

$(变量#关键字)
变量内容从头开始,删除匹配的最短数据

$(变量##关键字)
变量内容从头开始,删除匹配的最长数据

$(变量%关键字)
从变量值得尾部向前,删除匹配的最短数据

$(变量%%关键字)
从变量值得尾部向前,删除匹配的最长数据

$(变量/旧字符串/新字符串)
变量内容符合“旧字符串”,则第一个旧字符串会被新字符串替换

$(变量//旧字符串/新字符串)
变量内容符合“旧字符串”,则全部旧字符串会被新字符串替换


5.变量的测试与替换
在某些时候,我们需要判断变量是否存在,如果存在就是用即有的设置,如不存在则给予一个常用的设置。
减号“-”
冒号“:“
问号“?”
变量设置方式
str没设置
str为空字符串
str为非空字符串
var=${str-expr}
var=expr
var=
var=$str
var={str:-expr}
var=expr
var=expr
var=$str
var=${str+expr}
var=
var=expr
var=expr
var=${str:+expr}
var=
var=
var=expr
var=${str=expr}
str=expr
var=expr
str不变
var=
str不变
var=$str
var=${str:=expr}
str=expr
var=expr
str=expr
var=expr
str不变
var=$str
var={str?expr}
expr输出至stderr
var=
var=str
var={str:?expr}
expr输出至stderr
expr输出至stderr
var=str




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值