Shell - 简明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>”等
# && “与”;当前一个指令执行成功时,执行后一个指令
# || “或”;当前一个指令执行失败时,执行后一个指令
# ### 字符串比较
# = 等于,等价于“==”
# != 不等于
# ### 运算符
# + 加法
# - 减法
# * 乘法
# / 除法
# ** 求幂
# % 求模(除法的余数)
Shell - 简明Shell入门14 - 操作符(Operator)的更多相关文章
- Shell - 简明Shell入门
本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...
- Shell - 简明Shell入门01 - 第一个脚本(HelloShell)
示例脚本及注释 #!/bin/bash echo "hello shell!" # 打印字符串"hello shell!" echo "Date: & ...
- Shell - 简明Shell编程
本文是对Shell脚本编程的总结和回顾,所有涉及的脚本均已做了基本的调试和验证. [toc] 测试环境信息 [root@CentOS7 ~]# uname -a Linux CentOS7 3.10. ...
- Shell - 简明Shell入门15 - 调试(Debug)
示例脚本及注释 #!/bin/bash -x for filename in t1 t2 t3 do touch $filename.txt echo "Create new file: $ ...
- Shell - 简明Shell入门13 - 用户输入(UserInput)
示例脚本及注释 1 - arguments #!/bin/bash if [ -n "$1" ];then # 验证参数是否传入 echo "The first para ...
- Shell - 简明Shell入门12 - 定制输出(ColorOutput)
示例脚本及注释 #!/bin/bash echo -e "\033[32m" # 设置输出属性,绿色字体 echo "This is a test!" echo ...
- Shell - 简明Shell入门11 - 调用脚本(CallTheScript)
示例脚本及注释 主脚本: CallTheScript.sh #!/bin/bash . ./11-subscript.sh # 调用其他脚本;注意点号"."和文件路径之间有一空格; ...
- Shell - 简明Shell入门09 - 重定向(Redirection)
示例脚本及注释 #!/bin/bash pwd > 1.log # 输出重定向到指定文件 date 1> 1.log # ">"与"1>" ...
- Shell - 简明Shell入门08 - 函数(Function)
示例脚本及注释 #!/bin/bash function Check() # 使用function定义函数 { Say # 通过函数名直接调用函数 if test $1 then return 0 # ...
随机推荐
- ubuntu 从零安装tf-serving环境和opencv
参考官网:https://www.tensorflow.org/serving/setup 首先是安装gprc: pip install grpcio 然后发现没有安装pip,报错:sudo: pip ...
- 微信H5支付 遇到坑的一些解决方法
解决办法 1. 商家参数格式有误,请联系商家解决 a.对于前后端分离的开发模式 前端发起请求 服务端请求微信h5支付统一下单接口 返回参数mweb_url 给前端 然后前端调起微信h5支付 b.注意的 ...
- 167. Two Sum II - Input array is sorted (Array)
Given an array of integers that is already sorted in ascending order, find two numbers such that the ...
- HDU 6304 Chiaki Sequence Revisited
题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=6304 多校contest1 Problem Description Chiaki is int ...
- vue上线后,背景图片路径错误
build 下的utils.js中添加配置 if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, public ...
- load 过高分析办法
1.top -H 找到占用cpu较高的进程2.top -Hp pid 找到该进程下占用cpu较高的线程id3.sudo -u adminjstack -F 进程id > ~/stack.txt ...
- VS打开SSAS或SSIS报错的解决办法
---------------------------Microsoft Visual Studio---------------------------无法加载类型为“Microsoft.Analy ...
- [leetcode]57. Insert Interval插入区间
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...
- 震惊!90%的程序员不知道的Java知识!
震惊!90%的程序员不知道的Java知识! 初学Java的时候都会接触的代码 public static void main(String[] args){ ... } 当时就像背公式一样把这行代码给 ...
- py2和py3的区别总结
1.编码 python2默认编码方式ASCII码(不能识别中文,要在文件头部加上 #-*- encoding:utf-8 -*- 指定编码方式) python3默认编码方式unicode(可识别中 ...