zoukankan      html  css  js  c++  java
  • shell脚本之其他常用小技巧

    set有关

    set -e  任何指令执行失败时退出脚本,同"set -o errexit"
    
    set -o nountset   使用未声明变量时退出脚本

    set -x 执行脚本时,输出正在执行的内容,涉及的变量也会被替换成实际值,方便调试

    字符串转化数组

    Array=(${str// / } )

    其中
    str为有空格的字符串

    获取当前脚本绝对路径

    pathdir=$(dirname `readlink -f $0`)

    其中
    dirname 去除文件名的非目录部分,仅显示有关目录的部分
    readlink -f 找出符号连接(即软连接)所指向的位置
    $0 表示脚本本身

    脚本中创建文件并添加内容

    cat > filename <<EOF
    要添加的内容
    EOF
    
    
    其中
    EOF为标识,提示结束开始的符号 EOF必须顶行写,前面不能用制表符或者空格

    循环读取文本内容

    FILE内容如下

    1.1.1.2,node1,88
    1.1.1.3,node2,80
    1.1.1.4,node3,90
    1.1.1.5,node4,99

    脚本内容如下

    #!/bin/bash
    cat FILE|awk -F ',' '{print $1,$2,$3}'|while read IP Hostname Port
    do
        echo "主机ip是:${IP},主机名是:${Hostname},主机端口是:${Port}"
    done


    其中
    awk以指定分隔符","分隔文本内容,并输出前三列
    while read 为循环接收awk输出的结果并赋值给IP,Hostname,Port

    执行结果

    主机ip是:1.1.1.2,主机名是:node1,主机端口是:88
    主机ip是:1.1.1.3,主机名是:node2,主机端口是:80
    主机ip是:1.1.1.4,主机名是:node3,主机端口是:90
    主机ip是:1.1.1.5,主机名是:node4,主机端口是:99
  • 相关阅读:
    第一次冲刺结果演示 一组评审总结
    检查博客情况
    第十次站立会议
    第九次站立会议
    暑期实训day4
    暑期实训day3
    暑期实训day2.1——一发空格引发的血案
    暑期实训day2
    暑期实训day1
    黑板模式
  • 原文地址:https://www.cnblogs.com/gudanaimei/p/13194639.html
Copyright © 2011-2022 走看看