符合

含义

&&

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 格式判断

    public class FormatChecker { /** * 判断是否含有汉字 * @param string */ public static boolean containChinese( ...

  2. php正则表达式总结

    <?php echo 'wj'; echo '<br>'; $file = '<td>移动150卡</td><!--<td></td& ...

  3. 关于.NET中的验证码

    常用的生成验证码程序 ,图片效果如下: 源程序如下: 复制代码 代码如下:using System; using System.IO; using System.Drawing; using Syst ...

  4. Lesson 6: Exploring the World of Typefaces

    Lesson 6: Exploring the World of Typefaces 这课提到的字体都是 英文 的. Article 1: More Google Web Fonts That Don ...

  5. 网页上facebook分享功能的具体实现

    1,一个链接: 参数是要分享的页面的链接 代码如下: <a style="width:35px; height:40px; position:relative; top:10px; l ...

  6. jquery mini ui 学习

    1.mini.parse(); 将html标签解析为miniui控件.解析后,才能使用mini.get获取到控件对象. 2.mini.get(id);根据id获取控件对象. 3.grid.load() ...

  7. CactiEZ 中文版V10.1安装使用以及139邮箱短信报警设置

    说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统!   说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合 ...

  8. Java反射 - 1(得到类对象的几种方法,调用方法,得到包下的所有类)

    通过反射获得对象的方法 准备工作: 有一个User类如下 package o1; /** * Created by yesiming on 16-11-19. */ public class User ...

  9. Qt5遇到的问题

    好久没用Qt了,今天又重新安装了一个,结果遇到不少问题 本机环境:VS2015,Qt5.7 装好后,就新建工程测试了一下,结果无法编译,提示 :-1: error: cannot open C:\Us ...

  10. phpcms v9二次开发之模型类的应用(1)

    在<phpcms二次开发之模型类model.class.php>中讲到了模型类的建立方法,接下来我讲一下模型类的应用.      前段时间我基于phpcms v9开发了一个足球网.足球网是 ...