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 ...
随机推荐
- Angular 4 学习笔记 从入门到实战 打造在线竞拍网站 基础知识 快速入门 个人感悟
最近搞到手了一部Angular4的视频教程,这几天正好有时间变学了一下,可以用来做一些前后端分离的网站,也可以直接去打包web app. 环境&版本信息声明 运行ng -v @angular/ ...
- 第一章(认识jQuery)
1.3.2编写简单的jQuery代码 ①$是jQuery的简写 ②$("#foo") = $("#foo") ③$.ajax = jQuery.ajax ④ ...
- I/O多路复用之epoll实战
概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程 通俗理解(摘自网上一大神) 这些名词比较绕口,理解涵义就好.一个epoll场景:一个酒吧服务员(一个线程),前 ...
- PHP接入阿里云市场 阿里短信服务DEMO
阿里短信服务:支持三大运营商短信.智能管道等优质能力,产品特点:3秒可达.99%到达率.超低资费. 使用阿里短信服务步骤: 1.购买服务 到https://market.aliyun.com/prod ...
- cygwin安装gcc/g++
安装cygwin如果按照默认的方式一直点下去的话,安装完了会发现没有安装gcc/g++. 这个时候可以在安装文件的目录打开命令行,并输入: setup-x86_64.exe -q -P wget -P ...
- VB6之GDI+加载PNG图片
原生的VB6不支持PNG个图片,因为刚有VB的时候还没有PNG的概念呢.不过,利用GDI+加载解析个PNG简直是砍瓜切菜般简单. GDI+的模块是我在网上下载的,地址应该是:http://vistas ...
- Unity3D文件读取
Resources: 是作为一个Unity3D的保留文件夹出现的,也就是如果你新建的文件夹的名字叫Resources,那么里面的内容在打包时都会被无条件的打到发布包中.它的特点简单总结一下就是: 只读 ...
- Ambari安装之部署单节点集群
前期博客 大数据领域两大最主流集群管理工具Ambari和Cloudera Manger Ambari架构原理 Ambari安装之Ambari安装前准备(CentOS6.5)(一) Ambari安装之部 ...
- xdu_1077:循环节长度
题意很简单,就是给出p,q,求p/q的循环节长度. 由循环小数的循环部分的值等于等比数列求和的值S,列公式得到最简分数分母的值.最终得10^x%q==1(其中q为经过modify之后的值).搞清这些之 ...
- Swift 轻量级网络层设计
前言 普遍我们的网络层设计的时候直接是如下结构APIManager.post(url, parameter,completeHandle),服务器配置在APIManager.m文件中进行配置.这样一个 ...