Linux - 简明Shell编程14 - 操作符(Operator)
示例脚本及注释
#!/bin/bash
echo "No code, just some comments."
# ### 通配符
# * 代表任意(0个或多个)字符
# ? 代表任意1个字符
# [abc] 匹配括号中任意一个字符
# [!abc] 不匹配括号中任意一个字符,等价于[^abc]
# [a-z] 匹配括号中字符范围内的任意一个字符
# {a,b,c} 生成序列,以逗号分隔,且不能有空格
# {a..z} 生成指定范围的序列
# ### 参数变量
# $0 当前shell脚本的名称
# $n 当前shell脚本的第n个参数,$1是第一个参数,$2是第二个参数,${10}是第十个参数
# $* 当前shell脚本的所有参数(不包括脚本本身),将所有参数当作一个字符串整体
# $@ 当前shell脚本的所有参数(不包括脚本本身),循环遍历所有参数
# $# 当前shell脚本的参数个数(不包括脚本本身)
# $$ 当前shell脚本的PID
# $? 最后一个指令的返回值(退出状态);0表示没有错误,非0表示有错误
# ### 特殊符号
# # 注释;“#!”作为shell脚本行首,指定解释器
# $ 引用变量;普通用户的命令提示符
# ${} 正规引用变量的方式,能够区分变量的边界,可在字符串中表示变量
# = 赋值,等号两侧没有空格
# / 根目录;路径分隔符;运算符的除法
# \ 屏蔽别名;转义字符;放在一行命令的末端,表示换行
#
# '' 单引号,无法变量置换,所见即所得
# "" 双引号,可以变量置换,解析变量输出和特殊符号;字符串内出现双引号本身,需要转义
# `` 反引号,引用命令的结果,等价于$()
#
# | 管道,使用形式“命令1|命令2”和“|xargs”
# & 后台执行
#
# {} 代码块,代码在当前shell执行,不产生subshell,代码块中的变量在代码块之后仍能访问;用于函数定义
# () 命令组,命令以“;”分割,所有命令都在子shell中执行,其中所定义的变量,仅作用于命令组本身,使用$获取()的值;初始化数组
# (()) 整数扩展,执行里面的整数表达式,使用$获取(())的值
# [] 测试在[]内的表达式
# [[]] 测试在[[]]内的表达式,可以使用“&&,||,<,>”等逻辑操作符
# $[] 整数扩展,执行里面的整数表达式,并返回表达式的值
#
# : 空命令,只是返回值0;作为while死循环的条件;在if分支中作为占位符(即某一分支什么也不做)
# ; 分隔多个命令,依次执行
# ;; case语句中选项的终结符
# , 运算中的"区隔"
# ### 目录操作
# ~ “cd ~”进入当前用户的家目录
# - “cd -”进入用户上一次所在的目录,由环境变量$OLDPWD控制;“su -”切换用户并重新加载环境变量;选项的前缀
# .. 上一级目录
# . 当前目录;隐藏文件的文件名开头;正则表达式中表示任意一个字符
# ### 逻辑操作
# ! “非”;vi/vim中的强制退出;命令行下调用历史命令,“!<string>”、“!!”、“!<number>”等
# && “与”;当前一个指令执行成功时,执行后一个指令
# || “或”;当前一个指令执行失败时,执行后一个指令
# ### 字符串比较
# = 等于,等价于“==”
# != 不等于
# ### 运算符
# + 加法
# - 减法
# * 乘法
# / 除法
# ** 求幂
# % 求模(除法的余数)
Linux - 简明Shell编程14 - 操作符(Operator)的更多相关文章
- Shell - 简明Shell入门14 - 操作符(Operator)
示例脚本及注释 #!/bin/bash echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表 ...
- Linux - 简明Shell编程12 - 定制输出(ColorOutput)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo -e "\ ...
- Linux - 简明Shell编程01 - 第一个脚本(HelloShell)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo "hell ...
- Linux - 简明Shell编程02 - 变量(Variable)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash v1=test-variabl ...
- Linux - 简明Shell编程03 - 字符串(String)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash str="Shell ...
- Linux - 简明Shell编程04 - 判断语句(If)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash var=$1 # 将脚本的第一 ...
- Linux - 简明Shell编程07 - 数组(Array)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash test0=() # 定义数组 ...
- Linux - 简明Shell编程08 - 函数(Function)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash function Check( ...
- Linux - 简明Shell编程09 - 重定向(Redirection)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash pwd > 1.log ...
随机推荐
- chart.js使用常见问题
Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 在使用过程中新手可能会遇到很多问题导致图标无法显示.下面我们来看一下在使用过程中可能会遇到的问题. 刚开始用chart.j ...
- Java多线程(一) —— 线程的状态详解
一.多线程概述 1. 进程 是一个正在执行的程序.是程序在计算机上的一次运行活动. 每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 系统以进程为基本单位进行系统资源的调度 ...
- axis1.4开发webservice客户端(快速入门)-基于jdk1.4
写在前面: 对于客户端,服务端开发好了以后,客户端只需要调用就可以了.这里我们讲的是,根据服务的访问地址,来生成客户端所需要用到的代码(听说有几种调用方式,但是用到最常见的就是stub方式,貌似我说的 ...
- winform .net2.0的程序如何运行于.net 4.x
约束 最近有一个winform项目,要求: (1)程序能够运行在winxp, win7, win8, win10中 (2)安装尽可能简单,尽量不要安装.net framework.即使要安装也要尽可以 ...
- NPOI 表头、页眉页脚重复设置
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...
- 为Dynamics 365写一个简单程序实现解决方案一键迁移
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复258或者20170627可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
- 设计模式 - 观察者模式(JDK)
定义:观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新. 对象: 抽象主题角色:每个抽象主题角色都可以有任意数量的观察者.抽象主题提供可 ...
- 读Zepto源码之Event模块
Event 模块是 Zepto 必备的模块之一,由于对 Event Api 不太熟,Event 对象也比较复杂,所以乍一看 Event 模块的源码,有点懵,细看下去,其实也不太复杂. 读Zepto源码 ...
- 真实记录我入门学习Linux系统的经历
我本身来说并不是计算机专业的学生,因此今天来谈及这个话题,对大家来说,有了更多的客观公正性.对我而言,linux给我最大的财富,并不是编程能力提高了多少,而是视野的开阔.心态的转变和自学能力的提高.我 ...
- Ambari安装之部署本地库(镜像服务器)(二)
部署本地库(镜像服务器) (1)下载HortWorks官网上的3个库到本地(也可以在线下载,但是速度会很慢) 我们先把hortworks官网上需要下载的3个库下载到本地(这个还是需要很长时间的,当然你 ...