ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell脚本之其他常用小技巧

2020-07-11 10:36:49  阅读:206  来源: 互联网

标签:脚本 shell 技巧 主机 主机名 set ip 1.1


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

 

标签:脚本,shell,技巧,主机,主机名,set,ip,1.1
来源: https://www.cnblogs.com/gudanaimei/p/13194639.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有