bash
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
bash [2020/02/26 16:14] – [获取本机 ip 地址] plough | bash [2022/02/18 11:29] (当前版本) – [判断端口是否打开] plough | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== bash 常用命令 ====== | ||
+ | ===== 外部文档 ===== | ||
+ | [[http:// | ||
======bash 使用心得====== | ======bash 使用心得====== | ||
=====复制文件夹中前N个文件===== | =====复制文件夹中前N个文件===== | ||
行 55: | 行 58: | ||
</ | </ | ||
===== 获取当前脚本所在目录 ===== | ===== 获取当前脚本所在目录 ===== | ||
- | < | + | < |
- | set -ex | + | |
dir=`dirname $0` | dir=`dirname $0` | ||
script_dir=`readlink -f $dir/` | script_dir=`readlink -f $dir/` | ||
+ | </ | ||
+ | |||
+ | 或者 | ||
+ | < | ||
+ | script_dir=$(cd `dirname $0`; pwd) | ||
</ | </ | ||
===== 替换文本文件中的内容 ===== | ===== 替换文本文件中的内容 ===== | ||
行 80: | 行 87: | ||
根据实际情况,可能存在多个 ip,还要再用 grep 过滤一下。 | 根据实际情况,可能存在多个 ip,还要再用 grep 过滤一下。 | ||
+ | ===== try/catch 异常处理 ===== | ||
+ | < | ||
+ | { # try | ||
+ | |||
+ | command1 && | ||
+ | #save your output | ||
+ | |||
+ | } || { # catch | ||
+ | # save log for exception | ||
+ | } | ||
+ | </ | ||
===== 操作 bash 数组、字典 ===== | ===== 操作 bash 数组、字典 ===== | ||
< | < | ||
行 96: | 行 114: | ||
printf "%s is an extinct animal which likes to %s\n" " | printf "%s is an extinct animal which likes to %s\n" " | ||
+ | </ | ||
+ | |||
+ | ===== 字符串大小写转换 ===== | ||
+ | < | ||
+ | var=" | ||
+ | # 把变量中的第一个字符换成大写 | ||
+ | echo ${var^} | ||
+ | # 把变量中的所有小写字母,全部替换为大写 | ||
+ | echo ${var^^} | ||
+ | # 把变量中的第一个字符换成小写 | ||
+ | echo ${var,} | ||
+ | # 把变量中的所有大写字母,全部替换为小写 | ||
+ | echo ${var,,} | ||
+ | </ | ||
+ | |||
+ | ===== 判断变量是否为空 ===== | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | function is_empty() { | ||
+ | if [ -z " | ||
+ | return 1 | ||
+ | fi | ||
+ | return 0 | ||
+ | } | ||
+ | |||
+ | function is_empty_ignore_space() { | ||
+ | if [ -z "${1// }" ]; then | ||
+ | return 1 | ||
+ | fi | ||
+ | return 0 | ||
+ | } | ||
+ | |||
+ | is_empty '' | ||
+ | echo $? # 1 | ||
+ | is_empty_ignore_space '' | ||
+ | echo $? # 1 | ||
+ | is_empty ' | ||
+ | echo $? # 0 | ||
+ | is_empty_ignore_space ' | ||
+ | echo $? # 1 | ||
+ | </ | ||
+ | |||
+ | ===== 获取正在运行的 pod ===== | ||
+ | < | ||
+ | kubectl get pods|tail -n +2|awk ' | ||
+ | </ | ||
+ | |||
+ | ===== 关闭正在运行的 k8s 服务 ===== | ||
+ | < | ||
+ | kubectl delete sts `kubectl get sts|tail -n +2|awk ' | ||
+ | kubectl delete deployment `kubectl get deployments|tail -n +2|awk ' | ||
+ | kubectl delete service `kubectl get services|tail -n +2|awk ' | ||
+ | </ | ||
+ | |||
+ | ===== 判断指定 git 分支是否存在 ===== | ||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== 目录下搜索文件内容 ===== | ||
+ | 类似于 ack 的效果。 | ||
+ | < | ||
+ | find . -type f|xargs grep " | ||
+ | </ | ||
+ | |||
+ | ===== 判断端口是否打开 ===== | ||
+ | nc -z < | ||
+ | < | ||
+ | if [ !$(nc -z 0.0.0.0 27018) ]; then | ||
+ | kubectl port-forward service/ | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | ===== 查找文件并执行命令 ===== | ||
+ | < | ||
+ | find . -name ' | ||
+ | # 查找并删除 | ||
+ | find . -name ' | ||
</ | </ |
bash.1582704843.txt.gz · 最后更改: 2020/02/26 16:14 由 plough