1. | 管道符

    #将前一个命令作为后一个命令的输入
    cat > t
    who | wc -l  #crtl+d
    chmod +x t    
  2. #! 指定处理脚本所需的shell,常见shell有bash,还有expect此类不常见的shell

  3. printf 输出

    printf "%s\t\n" china
    # 输出 china 
  4. IO重定向

    # crtll+D 文件结尾
    # program > file 可将program的标准输出修改为file
    tr -d '\r' < dos-file.txt > UNIX-file.txt #  将dos-file.txt中的回车符删除;并将结果输出的UNIX-file.txt 改变标准输入和输出

    > 重定向符号 >> 将标准输出附件到问价结尾之后

    # 将所有以dos-file开头的,以.txt结尾的文件中所有的换行符删除并输出到big-UNIX-file.txt
    for f in dos-file*.txt
    do 
        tr -d '\r' < $f >> big-UNIX-file.txt
    done

    | 建立管道

    使用管道比使用临时文件的速度快的多!

    p1 | p2 # 将p1的标准输出作为p2的标准输入
    # 先删除文件中的回车符 然后完成数据的排序 最后输出到文件
    tr -d '\r' < dos-file.txt | sort > UNINX-file.txt

    tr [ options ] source-char-list replace-char-list
    转换字符,例如将大写转换为小写,删除字符等

  5. $PATH linux 会沿着path去查找命令

    echo PATH
    cd ~
    mkdir bin
    mv user bin
    PATH=$PATH:$HOME/bin
    user # 被shell 发现并执行
    ## 期望输出 user的标准输出 
  6. shell 参数

    cat > finduser # 将命令行的标准输入输出到文件finduser
    #! /bin/sh
    # finduser 查看第一个参数指定的用户是否登陆
    who | grep $1 # 当参数列表多以9个的时候 需使用{} eg. ${10}
    
    chmod +x finduser # 为finduser添加可执行权限
    
    ./finduser yibing
    # 期望输出 yibing 是否登陆  
  7. 执行跟踪

    executing tracing
    作用: 使shell显示每个被执行的命令

    cat tracel.sh
    #! /bin/sh
    
    set -x # 打开跟踪
    echo 1st echo
    set +x # 关闭跟踪
    echo 2st echo
    crtl+D
    
    chmod +x tracel.sh
    ./tracel.sh 
    
    # 预期输出
    + echo 1st echo
    1st echo
    + set +x
    2nd echo

idiot
15 声望3 粉丝

引用和评论

0 条评论