符合

含义

&&

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. memcache锁,解决查询过多email查询为空的问题

    /* 设置memcache锁,解决查询过多email查询为空的问题 Begin */ $mmc = new Memcache; $mmc->connect('127.0.0.1', 11211) ...

  2. PHP SimpleXML

    安装 SimpleXML 扩展需要 PHP 5 支持. 自 PHP 5 起,SimpleXML 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. PHP 5 SimpleXML 函数 函数 ...

  3. web基础--html

    WebBasic 1.web应用体系 课程大纲 1.web基础:做网页     2.结构:         a.html             勾勒网页结构及内容         b.css     ...

  4. oracle单行函数之类型转换

    oracle数据类型转换:显示转换盒隐式转换 oracle自动完成转换

  5. URAL 1008 - Image Encoding(bfs坑爹题)

    坑爹题,两种输入输出互相交换,裸bfs #include <stdio.h> #include <string.h> typedef struct { int x; int y ...

  6. SelectObject

    CPen* SelectObject( CPen* pPen ); CBrush* SelectObject( CBrush* pBrush ); virtual CFont* SelectObjec ...

  7. 【Ecstore2.0】导出问题解决(未导出或导出文件为0字节)

    如果导出队列能成功执行(队列不执行看这里)但是并未生成文件,那么原因大部份可能是出在FTP上. ECSTORE2.0采用了PHP的FTP模块,所以先确认你的环境是否安装了FTP模块,如果没有,安装并在 ...

  8. django初探

    如果是自己建站耍的话,还是用Php方便,毕竟Php服务器便宜又到处都是. 但是python毕竟是一个新鲜的东西,特别是django,以前一直东python的语法,而且是我最早学习的语言之一,但是一直停 ...

  9. Html中input标签的使用

    1.取消按钮按下时的虚线框 在input里添加属性值 hideFocus 或者 HideFocus=true 2.只读文本框内容 在input里添加属性值 readonly 3.防止退后清空的TEXT ...

  10. Centos7 打开80端口防火墙命令

    iptables -I INPUT -p TCP --dport 80 -j ACCEPT