符合

含义

&&

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. RadioGroup单选按钮排版

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  2. yii2 添加模块过程

    本文以Yii2基本应用程序模板为例,介绍下向该框架下加入新模块的过程: 1. 新建模块相关目录与文件 step 1: 新建目录结构   首先在根目录下新建modules目录,然后在该目录下面添加模块目 ...

  3. (转)SQL流程控制语句学习(二):begin…end if…else case

    1.begin…end 语法: begin {sql语句或语句块} end 注意:begin 和end要成对使用 2.if…else 语法: if  布尔表达式 {sql语句或语句块} else  布 ...

  4. starting Intent from ProcessRecord with revoked permission android.permission.CALL_PHONE 的错误

    昨天写个电话拨号器,很简单就一个Edittext和一个button,用来输入号码并且点击按钮拨打电话,但是写好以后报的是安全错误,我上网查了下,原来是缺少授权,于是我在AndroidManifest. ...

  5. Cacti添加Advance Ping监控模板

    Cacti脚本   1.Advance Ping 脚本及模板   注:要使用此模板,编译PHP时必须加上--enable-sockets选项来支持套接字.   1).功能:此模板用来监控一个TCP/U ...

  6. C++采用模板实现栈的方法

    今天又看了遍<effective C++>,手动实现了一下条款42中的栈,贴出来当博客的处女贴. 首先栈的声明如下,采用了模板传入类型,而栈的底层采用是个链表. // stack.h // ...

  7. mysql命中索引规律

    就算where条件里写了and两个条件,然后建了2个独立索引,1个组合索引,他具体命中哪个是不确定的,他会根据数据分布情况选择. 比如 possible_keys    :f1,f2,f1f2,有三种 ...

  8. Linux下部署Symfony2对app/cache和app/logs目录的权限设置

    在linux下部署完Symfony2,可能在访问的时候会报app/logs或者app/cache目录没有写权限的错误.在linux下,如果我们在命令行登陆的用户和web应用服务器(apache.ngi ...

  9. python实现中文图片文字识别--OCR about chinese text--tesseract

    0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: tesseract ...

  10. var genreModel =storeDB.Genres.Include("Albums").Single(g => g.Name == genre);是什么意思?

    g => g.Name == genre代表一个匿名函数.即这里向Single方法传入了一个方法类型的参数. =>左边的g代表方法的参数,可以有多个,如(g,f) => ...,=& ...