[shell]Shell经常使用特殊符号
符合 |
含义 |
&& |
command1 && command2:命令1返回真(命令返回值 $? == 0)后,命令2才干被运行。能够用于if推断。 cp 1.txt ../ && echo "succes" #-->success cp 1.txt ../ && rm -f ../1.txt && echo "success" -->success |
|| |
command1 || command2:命令1返回假(命令返回值 $? == 1)后,命令2才干被运行。能够用于if推断。 cp 1.txt ../ || echo "fail" #-->fail cp 1.txt ../ || rm ../1.txt || echo "fail" -->fail |
& |
command1 & command2 & command3 :3个命令同一时候运行 command &:comand命令在后台执行,实际上是将命令放入到一个作业队列中。默认情况下,进程是前台进程,这时就把Shell给占领了,我们无法进行其它操作,对于那些没有交互的进程,非常多时候,我们希望将其在后台启动,能够在启动參数的时候加一个'&'实现这个目的。 前后台间切换:能够通过bg <jobid>(background)和fg<jobid>(foreground)命令将其在前后台间状态切换。 |
| |
管道,上一个的命令输出作为下一个命令的输入; 把前面的命令执行的结果丢给后面的命令. 并非全部的命令都能够的,一般针对文档操作的命令比較经常使用,比如cat, less, head, tail, grep, cut, sort, wc, uniq, tee, tr, split, sed, awk等等,当中grep, sed, awk为正則表達式必须掌握的工具 ls | wc –l -->11 |
( ) |
( command1;command2;command3;... ):运行一组命令,命令群组概念,命令自己用;隔开,末尾命令能够不用;隔开,第一个命令与(之间能够没有空格 ( pwd;cd ..;pwd ) #-->/home/robot /home |
[ ] |
用于測试命令,能够理解为test命令 if [ "$?" != 0 ] <==> if test "$?" != 0 |
$[ ] |
整数计算(+-*/%): echo $[2-3] -->1 浮点数计算(+-*/):c=$(echo "0.5/0.5"|bc);echo $c -->1 |
$(()) |
对括号内的表达式求值, echo $((1+1)) -->2 整数运算+-*/% |
{ } |
{ command1;command2;command3;... }:运行一组命令, 命令群组概念,命令自己用;隔开,末尾命令也须要;隔开,第一个命令与{之间必须有空格 A=1;echo $A;{ A=2; };echo $A #--> 1 2 A=1;echo $A;( A=2; );echo $A #--> 1 1 |
(( )) |
这组符号的作用与 let 指令相似,用在算数运算上,是 bash 的内建功能 |
"" |
双引號,把它所包括的内容作为普通字符,但单引號‘’,反斜线\,美元符号$,反单引號``除外 a=1;echo "1+$a";-->1+1 a=1;echo "1+'$a'";-->1+'1' a=1;echo "1+$'a'";-->1+$'a' echo "\$a";->$a |
'' |
单引號,把它所包括的内容作为普通字符,无例外 a=1;echo '1+$a';-->1+$a |
`` |
反单引號(与~同一键),`command`与$(command)的含义同样,都是返回当前运行命令的结果 |
\ |
转义字符, 把符号(eg:*|&)的特定含义去掉。使其变成普通标点符号 |
; |
;分号:在 shell 中,担任"连续指令"功能的符号就是"分号" command1;command2;command3:无论前面的命令运行成功与否,后面的命令继续运行 |
;; |
连续分号:专用在 case 的选项,担任 Terminator 的角色 |
# |
#井号:凝视 |
! |
通常它代表反逻辑的作用,如条件推断中。用 != 来代表"不等于" |
? |
代表随意一个字符 |
* |
代表零个或多个字符或数字 |
** |
次方运算 echo $((2**3)) –>8 |
$ |
变量取值 a=1;echo $a;-->1 |
最新文章
- 解析大型.NET ERP系统 十三种界面设计模式
- Session阻塞 读写锁引发的小问题
- 【UWP】在不同类库使用ResourceDictionaries
- JavaScript基础18——js的Array对象
- 剪花布条[HDU2087]
- Android --资料集合
- bootstrap与jqueryui按钮冲突的解决
- Linux命令(5):cp命令
- Windows之vmware安装破解版错误汇总
- 并发编程: c++11 thread(Func, Args...)利用类成员函数创建线程
- MySQL &#183; 引擎特性 &#183; InnoDB Buffer Pool
- java中枚举起别名
- Android Notification 详解
- DP基础练习(4.21)
- metrics+spring+influxdb整合
- OneMap Client API
- LoadRunner断言:正确结果有多种情况
- live2d添加网页看板娘
- @JsonInclude(JsonInclude.Include.NON_NULL) 加在对象上
- Django接收URL问号参数
热门文章
- css position 应用(absolute和relative用法)
- Js实现简单的联动,无数据库版本
- 武汉科技大学ACM :1007: 华科版C语言程序设计教程(第二版)习题7.10
- 武汉科技大学ACM :1002: 零起点学算法66——反话连篇
- 武汉科技大学ACM :1006: A+B for Input-Output Practice (VI)
- 高放的c++学习笔记之重载运算与类型转换
- [转]使用wireshark分析TCP/IP协议中TCP包头的格式
- Oracle错误问题---- 《ora-12638:身份证明检索失败》
- Oracle数据库之PL/SQL异常处理
- 移动端(html5)微信公众号下用keyup实时监控input值的变化无效