• [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)的含义同样,都是返回当前运行命令的结果
    命令替换。命令替换是指Shell能够先运行命令。将输出结果临时保存,在适当的地方输出。

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

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

    ;

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

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

    ;;

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

    #

    #井号:凝视

    !

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

    ?

    代表随意一个字符

    *

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

    **

    次方运算

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

    $

    变量取值

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


    $的扩展符号


  • 相关阅读:
    Oracle 提示 用户在线,无法删除的清理方法
    拉格朗日乘子法和KKT条件
    主题模型及其在文本情感分析中的应用
    spring-data-elasticsearch整合elasticsearch
    自然数的K次幂的数列求和
    SVM 简要推导过程
    机器学习中导数最优化方法(基础篇)
    漫谈:机器学习中距离和相似性度量方法
    A geometric interpretation of the covariance matrix
    数据挖掘算法之协同过滤算法
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5326172.html
Copyright © 2020-2023  润新知