一  shell各种符号

说明: 本文主要讲解'各种符号'的应用场景,尽可能'穷举'备注: 符号在'不同的场景',含义可能'不一样',主要讲解'shell'中,涉及少量的'regex'

(1){}花括号

如何在bash中使用{}范围表达式

①  通配符扩展

备注: 默认是以'逗号'分割补充:'..'是范围运算符号

"备份"cp /etc/passwd{,.bak}

②  语句块的构造

说明: 作为一个'整体',不管'报错与否'都会'继续执行' -->除非'exit退出'特点: 多个命令'写在一块'备注: 多个命令分行写'等价'命令之间用';'连接

③  参数扩展

说明: 与'变量'相关说明: 这里'仅仅'讲了一个'变量初始化'

④  find中的使用

功能: 在'/logs目录'中查找'更改时间'在'5日以前'的'文件'并'交互'确定是否'删除'它们find /logs -type f -mtime +5  -exec  -ok  rm {} \;1)'{}'理解为'占位符',表示find'找到的文件',传递给'rm命令'处理2)碰巧";"是shell的'命令分隔符','\;'表示不要让shell进行'特殊'处理,只能用'\'来转义,用来'结束命令'

(2) []中括号

①  通配符扩展

特点: 匹配'字符集'中的'一个字符' -->'或'

②  条件判断

实质: test命令的'简写',也是通过'$?'进行'逻辑判断'的

(3).点号

①  命令

等价: 'source' --> '加载文件'并在'当前shell'下执行

②  正则

特点: 匹配除'换行符\n'之外的任何其它'单个字符',若要匹配'文本句点字符',必须在该字符前面加上转义符 --> '\.'

(4)-

①  通配符 连子符

②  切换

cd -   -->'返回之前的目录-->OLDPWD'su - user  -->'切换到指定用户',不指定默认是'root'

③  管道命令

减号"-"就是代表标准'输入(stdin)'/标准'输出(stout)',视命令而定

1)作为标准输出使用

xargs  --> 打包+++++++++++++++'通常网站首页是一个bash可执行文件'+++++++++++++++1)wget常见'场景': wget -qO- get.docker.com | bash-q的含义是:'--quiet','安静模式',无信息输出 -->'多余的信息'-O的含义是把后面网址下载后,改成一个'指定的名称',如果后面'没有跟着'一个名字,而是"-",则表示将下载后的内容输出到'标准输出'备注: 标准输出是'屏幕'-qO-的含义:把下载的内容输出到标准输出,但'并不在'屏幕显示,目的当然是直接'传递给bash进行解析'执行了2)curl常见场景: curl -sSL  https://get.daocloud.io/docker | bash-L,'--location':如果服务器报告请求的页面'已移动'到其他位置(用location:header和3xx 响应代码),此选项将使curl在新位置上'重新执行请求'-->'解决重定向' -->'eg:http-->https'-S,'--show-error':当与-s,--silent一起使用时,它会使curl在'失败时显示错误'消息-s,'--silent':'安静模式','不'显示'进度表'或'错误信息',使curl静音,它仍然会输出您请求的数据,甚至可能输出到终端stdout,除非您对它进行重定向-f,'--fail': 连接失败时'不显示http错误'

2)作为标准输入和输出的使用

++++++++++++++'tar'的使用++++++++++++++场景: 那么我们可以发现'第一条语句的输出'(log.tar) 就是'第二条语句的输入',这种情况下我们可以用 "-" 来'取代'这个输出输入tar -cvf - /var/log | tar -xvf -1)前面的'-'是 tar -cf /var/log的输出'传送的地方'2)后面的'-'则是使用前一个命令的'stdout'效果: '不需要'使用'文件'了

(5)() 圆括号

①  命令替换

效果: 等价于`cmd`特性: shell'扫描'一遍命令行,发现了'$(cmd)'结构,便将$(cmd)中的'cmd执行'一次,得到其'标准输出'备注: 有些'shell'和'unix系统'不支持-->如'tcsh'

②  数组初始化

array=(a b c d)

③  命令组

特点: 括号中的命令将会'新开一个子shell顺序执行',所以括号中的变量'不能够'被脚本'余下'的部分使用细节: 括号中多个命令之间用';分号隔开',最后一个命令'可以没有'分号,各命令和括号之间'不必有'空格常用: umask'临时'修改文件的'权限'

(6)&

① 重定向结合

② 后台运行

把该命令以'后台方式'执行注意: 如果命令'有输出',默认在'前台'-->'屏幕'

alias ls

③  逻辑与

猜想'&&'真正完成了'逻辑与'的功能

(7)\ 反斜杠

1)转义

反斜杠的作用是将'特殊符号字符'的特殊含义'屏蔽掉',使其还是'原字符'

2)续行符

(8)(())

备注: 除了可以做'逻辑判断',后者可以还可以做'数值计算'

(9):冒号

1)  空'命令'2)  参数'扩展'3)  重定向4)  当作'注释'

①  总的用法

②  空命令

1.  空命令就是'什么也不做',所以'返回码'永远都是0. -->利用此可以做'长轮询'、'死循环'2.  虽说是空命令,但'仍是命令',就具备一般命令'应有'的特征,可以像'一般命令'一样使用

1)死循环

2)占位符

应用场景:1) 比如在编写脚本的过程中,某些语法结构需要'多个部分'组成,但'开始阶段并没有想好'或完成相应的代码2) 这时就可以利用:来做'占位符',先把整体的框架'勾勒'出来,'起占位符(TODO)'作用,否则执行时就会'报错'

3)变量初始化

1)  格式--> ": ${VAR:=DEFAULT}"2)  当变量VAR'没有声明'或者'为NULL'时,将VAR设置为'默认值'DEFAULT备注:如果'不在'前面加上:命令,那么就会把'${VAR:=DEFAULT}本身'当做'一个命令'来执行,"报错"是肯定的

4)注释

使用"冒号:"还可以"用作注释行"的开始,但是如果有'语法错误',仍将'报错',这一点与使用#号不同补充:单行注释、多行注释说明:了解即可,'不建议'使用

5)清空文件

(10)常用shell符号汇总

'{}'、'`'、'..'、'.'、'\'、'&'、'-'、';'、'|'、'!'、'$'、'*'、':'、'[]'、'[[]]'

shell编程(二十)shell各种符号汇总相关推荐

  1. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  2. Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)

    shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...

  3. 【并发编程二十】协程(coroutine)_协程库

    [并发编程二十]协程(coroutine) 一.线程的缺点 二.协程 三.优点 四.个人理解 五.协程库 1.window系统 2.unix系统(包括linux的各个版本) 2.1.makeconte ...

  4. [转]Windows Shell编程 第十五章【来源:http://blog.csdn.net/wangqiulin123456/article/details/7988016】...

    第十五章 SHELL扩展 谈到Windows Shell编程,Shell扩展是最重要的科目之一,绝大多数商业应用的最酷特征的都是通过Shell扩展实现的,而且有许多显著的系统特征实际都是插入了扩展代码 ...

  5. Windows Shell编程-第十六章.命名空间扩展

    第十六章 命名空间扩展 探测器使用层次结构表述形成系统的许多对象--文件,文件夹,打印机,网络对象等等.这些对象组合定义了一个命名空间,这是一个封闭的符号或名字集合,其中任何给定的符号或名字都能成功地 ...

  6. Linux的shell编程(二)

    3. shell程序设计(基础部分) 其实作为命令语言交互式地解释和执行用户输入的命令只是shell功能的一个方面,shell还可以用来进行程序设计,它提供了 定义变量和参数的手段以及丰富的程序控制结 ...

  7. shell编程入门、shell编程的基础知识(变量、命令、运算)、shell编程的语句

    shell编程 示例1 ex1 文件内容如下: #!/bin/sh #This is to show what a example looks like. echo "My First Sh ...

  8. Shell编程规范与Shell中的管道符号(|)和重定向符号<、>、>>

    Shell脚本编程规范 Shell脚本的应用场景 Shell编程规范 1.Shell解释器程序的种类 2.编写一个简单的Shell脚本 3.执行脚本文件的方式 4.Shell环境中的:管道(|)与重定 ...

  9. [转]Windows Shell 编程 第十四章【来源:http://blog.csdn.net/wangqiulin123456/article/details/7988010】...

    第十四章 设计Shell集成应用 有一些工具可以使应用程序更紧密地与Shell和底层系统进行集成.也就是说,用户可以象处理系统文档和程序那样处理你的文档和程序.例如,右击文件来显示可用功能列表等.Wi ...

最新文章

  1. 关于Java里面File类创建txt文件重复???
  2. GitHub防黑客新措施:弃用账密验证Git操作,改用token或SSH密钥,今晚0点执行
  3. (转载)conflicting types for xx各种错误的总结
  4. SQL 数据库的使用
  5. python 文本聚类算法
  6. 恢复错误:\anaconda3\lib\site-packages\zmq\backend\cffi\__pycache__\_cffi_ext.c(266)
  7. 组态王接入多比物联网云平台
  8. Spring Security 入门(3-11)Spring Security 的使用-自定义登录验证和回调地址
  9. QUIC 是如何解决TCP 性能瓶颈的?
  10. webx学习(四)——ResourceLoadingService
  11. C语言之指针的再次理解
  12. 人物肖像速写_骄傲家庭:肖像项目
  13. 大师级游戏建模教程:使用Maya和XGen进行角色制作
  14. 当代博物馆中的3DGIS虚拟现实搭建
  15. 随机森林和多元线性回归R语言实现代码
  16. ADS1256 24位ADC模块
  17. 番外篇15:libevent简单理解(附libevent官方代码解析,和跨平台服务器、客户端链接代码)
  18. 高可用服务设计之二:Rate limiting 限流与降级
  19. javascript实现下拉框表单美化的详细实例教程
  20. hackthebox-Tracks-Beginner_Track-Blue

热门文章

  1. windows中AD域的部署
  2. vue-grid-layout与Echart项目中使用问题
  3. deqin -学习爬虫
  4. 川农在线计算机考试,川农在线
  5. 最全的Android 颜色透明度
  6. 国外经典脚本下载网站
  7. jquery插件 (jquery之家)的使用案列,(瀑布流的使用)非常简单
  8. treeSelect树形选择器使用
  9. 中国石油大学计算机专业论文,中国石油大学(华东) 本科毕业设计(论文)管理规定(修订)...
  10. 关于Unicode,UTF-8,GB编码详解