网站首页 文章专栏 Linux脚本技巧
cat >default-deny.yml<<EOF apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny spec: podSelector: {} policyTypes: - Ingress EOF
NOTE: 实测用sudo权限无法写入系统文件,sudo su之后可以。
Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
语法
tee [-ai][--help][--version][文件...]
参数: - -a或--append 附加到既有文件的后面,而非覆盖它. - -i或--ignore-interrupts 忽略中断信号。 - --help 在线帮助。 - --version 显示版本信息。
wget https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/generic-kuberouter-all-features.yaml CLUSTERCIDR='10.233.0.0/16' APISERVER='https://192.168.25.180:6443' sed -i "s;%APISERVER%;$APISERVER;g" generic-kuberouter-all-features.yaml sed -i "s;%CLUSTERCIDR%;$CLUSTERCIDR;g" generic-kuberouter-all-features.yaml
参考:Linux sed 命令
首行加一行
sed -i '1 i\"hello"' b.csv
末尾加一行
sed -i '$a\要插入的文字' file.name
NOTE: sudo或者sudo su都无法写入系统文件,待查。
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
PRODUCTION_GO_IP=$(kubectl get pods -n production -o wide | grep Running | grep service-go | awk '{print $6}')
DIR1="`dirname $BASH_SOURCE`" MYDIR=`readlink -f "$DIR1"`
这样,无论在哪里执行该脚本,都可以获得该脚本的绝对路径