shell编程-变量

一、变量定义

1、什么时候需要定义变量?

如果某个内容需要多次使用,并且在代码中重复出现,那么可以用变量代表该内容。这样在修改内容的时候,仅仅需要修改变量的值。

2、定义一个变量

使用等号(=)将变量名称和值进行赋值。

3、变量名称的规则

变量名称只能包含字母、数字和下划线,且不能以数字开头。
变量名称是区分大小写的。
推荐使用大写字母表示系统预定义的变量,如PATH、HOME等。

二、变量的分类

本地变量:当前用户自定义的变量。当前进程中有效,其他进程及当前进程的子进程无效。

环境变量:环境变量是系统级别的变量,可在所有脚本和程序中使用。常见的环境变量有PATH、HOME等。当前进程有效,并且能够被子进程调用。

全局变量:全局所有的用户和程序都能调用,且继承,新建的用户也默认能调用.

内置变量:shell本身已经固定好了它的名字和作用.
变量类型作用域生命周期
本地变量当前shell环境(子shell不能用)脚本结束或终端结束
环境变量当前shell或者子shell当前进程结束
全局变量所有用户及shell环境关机
内置变量所有用户及shell环境关机

三、变量的使用

直接引用:变量名
间接引用:$var
命令替换:$(command)command
特殊变量:$0$1$2...,$@$#$?
环境变量:$HOME$PATH...
命令行参数:$1$2...

四、特殊变量

  • $0:当前脚本的名称。
  • $1~$9:脚本或函数的参数。
  • $#:传递给脚本或函数的参数个数。
  • $*:所有参数作为一个单词显示。
  • $@:每个参数都作为一个单词显示。
  • $?:上一个命令的退出状态。

五、shell常用字符

    !:                执行历史命令   !! 执行上一条命令
    $:                变量中取内容符
    + - * / %:        对应数学运算  加 减 乘 除 取余数  
    &:                后台执行
    ;:               分号可以在shell中一行执行多个命令,命令之间用分号分割    
    \:                转义字符
    ``:               反引号 命令中执行命令    echo "today is `date +%F`"
    ' ':              单引号,脚本中字符串要用单引号引起来,但是不同于双引号的是,单引号不解释变量
    " ":              双引号,脚本中出现的字符串可以用双引号引起来

通配符    
    ~:                家目录    # cd ~ 代表进入用户家目录
    *:                星号是shell中的通配符  匹配所有
    ?:                问号是shell中的通配符  匹配除回车以外的一个字符
    [list]: 匹配[list]中的任意单个字符
    [!list]: 匹配除list中的任意单个字符
    {string1,string2,...}: 匹配string1,string2或更多字符串

重定向
    >      覆盖输入 
    >> 追加输入
    < 输出
    << 追加输出

管道命令
    |:               管道符 上一个命令的输出作为下一个命令的输入   cat filename | grep "abc"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清醒云思

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值