• 零散命令


    特殊变量

    $0 当前脚本的文件名。

    $n 传递给脚本或函数的参数。第一个参数是$1。

    $? 上一个命令的退出状态或函数的返回值。成功为0,失败为1。

    $*与$@的区别

    相同点:都是引用所有参数

    不同点:假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。

    运算符

    [[ $? -ne 0 ]] && echo "test"  //如果上一个命令退出状态不等于0,回显test。-ne,不等于

    if [ -n "$a" ]; then  //字符串长度不为0。

    fi

    if [ -z "$os" ]; then  //字符串长度为0。

    fi

    [ -f /run/keepalived.pid ]  && return 0 || return 1  //文件是普通文件。

    [ ! -s test.sh ]  || sh test.sh  //文件不为空。

    if [ -e file ]; then  //文件/目录是否存在。

    fi

    cd `dirname $0`

    echo `pwd`  //进入到当前脚本执行目录,显示当前目录路径。

    ln -s test.sh testlink  //为文件创建软连接。

    重定向

    who > users  //将who命令的输出重定向到users文件。覆盖方式。

    echo "append string" >> users  //追加输出

    wc -l file  //统计文件行数

    wc -l < file  //文件作为命令输入

    wc -l >> users << EOF  //将EOF中的片段作为命令输入,并将输出追加到users文件

    the first line

    the second line

    EOF  //顶格写,前后不能有任何字符

    command > /dev/null 2>&1  //屏蔽输出结果,即将stdout重定向到null设备,再将stderr重定向到stdout。

    0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。

    放在>后面的&,表示重定向的目标不是一个文件,而是一个文件描述符。

    普通用户提权

    ssh root@localhost

    vi /etc/sudoers.d/sudoers.pass

    添加xxx ALL=(ALL) NOPASSWD: /usr/bin/su

    exit

    sudo su

    BASE64

    echo -n test | base64

    echo -n dGVzdA== | base64 --decode

  • 相关阅读:
    [bzoj3224] 普通平衡树
    [总结] 三种常见的区间贪心问题
    [NOIP2014] 飞扬的小鸟
    POJ 1185 炮兵阵地
    WOJ 1538 Stones II 转化背包问题
    WOJ 1542 Countries 并查集转化新点+最短路
    UVA 11375 高精度Bign类
    2014_csu选拔1_B
    Codeforces 405D 数学问题
    Codeforces 400C 矩阵乘法 数学规律
  • 原文地址:https://www.cnblogs.com/aaroncnblogs/p/8981310.html
Copyright © 2020-2023  润新知