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