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 # ...
随机推荐
- 关于spfa
关于spfa的一些事宜.... 刚开始学的时候只会跑最短路,代码都是背下来的.以下是背的代码... inline void spfa(int s) { queue<int>q;q.push ...
- Apache 修改端口号
默认是80端口,可在httpd.conf文件中修改以下2个地方的端口号为预定的即可,例如修改为8080端口 把httpd.conf 中Listen 80 改成Listen 8080 把ServerNa ...
- Tomcat9 在Windows中配置允许远程访问
环境:Windows Server 2019 Data Center+Tomcat 9 Tomcat在Windows中安装好了之后,默认只能从本机以http://localhost:8080的方式访 ...
- 牛客练习赛42(A,B)
A:链接:https://ac.nowcoder.com/acm/contest/393/A 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 6 ...
- 利用DWORD SHOOT实现堆溢出的利用(先知收录)
原文链接:https://xz.aliyun.com/t/4009 1.0 DWORD SHOOT是什么捏? DWORD SHOOT指能够向内存任意位置写入任意数据,1个WORD=4个bytes,即可 ...
- c#: 简单的日志管理类(TextWriterTraceListener)
以c#实现轻量级的日志管理,着实简单,置一静态类记之: /// <summary> /// 日志管理 /// </summary> public static class Lo ...
- JavaSE基础知识(3)—流程控制结构
一.顺序结构 1.说明 程序从上往下依次执行,中间没有任何跳转或选择2.特点 变量必须遵循 “前向引用” (局部变量必须先声明.赋值,然后再使用!) 二.分支结构(条件) 1.说明 程序从两条或多条路 ...
- HTML第二篇
1>压缩文件格式:使用.zip格式较好 2>charset(字符集) 国内最新字符集格式为:gb18030 国际上通用的字符集是:UTF-8 3>添加图片 <img sr ...
- python requests 模块
requests 是第三方 python 库,用于处理 url 资源 requests 项目官网:http://www.python-requests.org/en/master/ 安装方式:pip ...
- Collision (hdu-5114
题意:你有一个以(0, 0), (x, 0), (0, y), (x, y)为边界点的四边形,给你两个点从(x1, y1), (x2, y2)的点发射,以(1, 1)的速度走,碰到边界会反射,问你最终 ...