zoukankan      html  css  js  c++  java
  • 16、常用shell命令方法

    1、shell基本

    wps_clip_image-14886

    2、父shell在执行shell命令时,通常是创建子shell,继承父shell环境,执行命令,退出,相关环境销毁;父shell得到子shell的退出状态。

    通过命令.source来使其有当前环境中执行,而不创建子进程。

    3、通配符与运算符

    wps_clip_image-26814

    wps_clip_image-4894

    4、转义

    单引号

       硬转义,单引号内的字符就是其字面意义

    双引号

        会进行变量替换

    反单引号----$()

        会把命令执行的输出,替换;相当于函数调用,嵌套的变量会一直解析

    ****/home/edwardlewis/altraman # echo 'date'

    date

    ****:/home/edwardlewis/altraman # echo "date"

    date

    ****:/home/edwardlewis/altraman # echo `date`

    Fri Aug 19 07:00:02 CST 2011

    5、变量

    变量赋值:    name=value

    变量引用:       $name

    合法的变量名: 字母、下划线、数字

    =号两边不容许有空格(否则可能解析成命令,默认情况下IFS为空格)

    $name是${name}的缩写

    $?

    上一命令的退出状态

    $!

    最后一个后台进程的pid

    $0

    当前进程的程序名称

    $$

    当前进程的进程id

    $n

    n为12,…n脚本或程序的参数

    $@

    脚本或程序的所有参数

    $#

    脚本或程序的参数个数

    $UID

    当前用户的UID

    $LOGNAME

    当前用户的用户名

    $HOSTNAME

    主机名

    $RANDOM

    1-32767之间随机数

    $SECONDS

    以消耗的秒数

    $PWD

    当前工作目录

    $OLDPWD

    最后一次cd前的工作目录

    ~

    HOME

        环境变量envbash或用户预设值的变量,可以被继承并直接使用;当前变量setlocal定义局部变量。

    a.永久设置

    export name=value

    ./foobar.sh

    b.只对一个命令设置

    name=value

    ./foobar.sh

    6、结构语句

    1)if

    [[ ]]  表达式,测试字符串,文件

    (( ))  表达式,测试数字计算结果

    命令的退出码($?) 0时,代表true,执行成功

    * 匹配零个或多个任意字符

    ?匹配一个任意字符

    [] 字符组,可以匹配字符组中的一个字符

    A|B ,A 或者B

    示例程序

    i=1;

    while (( i <= 10 ));

    do

    ((i++))

    done

    echo i:${i}

    for var in *.html

    do

    if [[ -h $var ]];

        then "Yes"

    fi

    done

    7、函数

    调用:需要先定义后调用,名字+参数(和调用一个命令完全一致)

    参数:$1,$2,……$#,$@

    返回值:标准输出

    退出状态:return $num;或最后一个命令的退出状态(尽量在$?中返回失败码)

    注意:函数必须先定义,后调用(local可以定义局部变量)

    8、块重定向

    if,while语句块,{}

    块中共享同一文件描述符(统一重定向)

    除非块中自行打开关闭

    {

    echo msg1

    echo msg2

    } >> "$log"

    9、简要说明echo print 有何区别?

    ① print有返回值,成功就返回1,失败就0,echo没有返回值

    ② echo函数中,可以同时输出多个字符串,而在print函数中则只可以同时输出一个字符串。

    int print ( string arg)

    Outputs arg. Returns 1, always. 

    void echo ( string arg1 [, string argn...])

    Outputs all parameters. 

    10、其他

    ps -ef | grep 'http*' | grep -v 'grep' | wc -l

    包含正则表达式尽量用单引号,防止转义。

    参考:

    1http://www.cnblogs.com/mydomain/archive/2010/09/24/1833799.html

  • 相关阅读:
    老王讲架构:负载均衡
    支付宝系统架构内部剖析
    Effective Java 第三版——61. 基本类型优于装箱的基本类型
    Effective Java 第三版——60. 需要精确的结果时避免使用float和double类型
    Effective Java 第三版——59. 熟悉并使用Java类库
    Effective Java 第三版——58. for-each循环优于传统for循环
    Effective Java 第三版——57. 最小化局部变量的作用域
    Effective Java 第三版——56. 为所有已公开的API元素编写文档注释
    Effective Java 第三版——55. 明智而审慎地返回Optional
    Effective Java 第三版——54. 返回空的数组或集合不要返回null
  • 原文地址:https://www.cnblogs.com/mydomain/p/2148626.html
Copyright © 2011-2022 走看看