符合

含义

&&

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)的含义同样,都是返回当前运行命令的结果

命令替换。命令替换是指Shell能够先运行命令。将输出结果临时保存,在适当的地方输出。


p=`pwd`;echo $p; -->/home

\

转义字符, 把符号(eg:*|&)的特定含义去掉。使其变成普通标点符号

;

;分号:在 shell 中,担任"连续指令"功能的符号就是"分号"

command1;command2;command3:无论前面的命令运行成功与否,后面的命令继续运行

;;

连续分号:专用在 case 的选项,担任 Terminator 的角色

#

#井号:凝视

!

通常它代表反逻辑的作用,如条件推断中。用 != 来代表"不等于"

?

代表随意一个字符

*

代表零个或多个字符或数字

**

次方运算

echo $((2**3)) –>8

$

变量取值

a=1;echo $a;-->1

$的扩展符号

[shell]Shell经常使用特殊符号的更多相关文章

  1. shell脚本中一些特殊符号

    在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ...

  2. shell中常用的特殊符号

    在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `co ...

  3. shell的变量以及常见符号

    shell的变量以及常见符号 常见变量 不同于其它语言需要先声明变量,shell的变量直接使用 eg:      a=15 调用变量的话 $a 或者 ${a} $? #判断上一条命令执行的是否成功 0 ...

  4. Linux下高效编写Shell——shell特殊字符汇总

    Linux下无论如何都是要用到shell命令的,在Shell的实际使用中,有编程经验的很容易上手,但稍微有难度的是shell里面的那些个符号,各种特殊的符号在我们编写Shell脚本的时候如果能够用的好 ...

  5. [转帖][Bash Shell] Shell学习笔记

    [Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...

  6. 我们一起来学Shell - shell的并发及并发控制

    文章目录 bash的并发 未使用并发的脚本 简单修改 使用wait命令 控制并发进程的数量 文件描述符 查看当前进程打开的文件 自定义当前进程用描述符号操作文件 管道 我们一起来学Shell - 初识 ...

  7. 我们一起来学Shell - shell的条件判断

    文章目录 Shell 条件测试语法 符号说明 Shell 测试表达式 文件测试表达式 字符串测试表达式 整数操作符 逻辑操作符 测试表达式的区别总结 Shell 条件判断之if语句 单分支 IF 条件 ...

  8. 刷题记录:[De1ctf] shell shell shell

    目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5 ...

  9. SDK/JDK,Shell/Shell脚本,Apache/APR ,MTK

    SDK 软件开发工具包(SoftwareDevelopmentKit) API(Application Programming Interface,应用编程接口)其实就是操作系统留给应用程序的一个调用 ...

  10. 我们一起来学Shell - shell的函数

    文章目录 定义函数 执行不带参数的函数 执行带参数的函数 函数的执行总结 我们一起来学Shell - 初识shell 我们一起来学Shell - shell的变量 我们一起来学Shell - shel ...

随机推荐

  1. java -jar start.jar和nohup java -jar xxx.jar > test.log &的区别

    nohup用在什么地方? KD3EE49RD38

  2. \r \n有什么区别

    '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格.通常用的Enter是两个加起来.下面转一篇文章. 回车和换行 今天,我总算搞清楚“回车”(carriage return)和“换行 ...

  3. C++小技巧之四舍五入与保留小数

    四舍五入:保留整数 int a = b+0.5; 保留一位小数  int a=(b+0.05)*10; double c=a/10; 保留二位小数  int a=(b+0.005)*100; doub ...

  4. UIScrollView 滚动停止的时候一次调用此方法

    //拖动返回选中的索引 当滚动视图停止时的时候 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ CGFloat wid ...

  5. jsp中的动作元素:<jsp:plugin>

    <jsp:plugin>用来产生客户端浏览器的特别标签(object或embed),可以使用它来插入Applet或JavaBean. 当jsp文件被编译把结果发给浏览器是,<jsp: ...

  6. js获取对象位置的方法

    scrollHeight: 获取对象的滚动高度. scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最 ...

  7. Python----Tornado安装

    Tornado安装,环境准备:          1.python安装包及安装 2.Tornado安装包 Python包安装 Linux下安装 如果使用的是 Linux系统 或 Mac OS X ,系 ...

  8. 【学习笔记】【oc】类的包装类 协议 category

    1.类的两种包装类: 将基本数据包装成对象:NSValue:NSNumber; NSValue是NSNumber的父类, NSValue用来封装一些基本数据, NSValue是一个通用的包装类,用来包 ...

  9. Java订单号(时间加流水号)

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  10. HttpClient 发送 HTTP、HTTPS 请求的简单封装

    import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.Http ...