bash
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| bash [2020/02/26 16:01] – 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) | ||
| </ | </ | ||
| ===== 替换文本文件中的内容 ===== | ===== 替换文本文件中的内容 ===== | ||
| 行 79: | 行 86: | ||
| </ | </ | ||
| 根据实际情况,可能存在多个 ip,还要再用 grep 过滤一下。 | 根据实际情况,可能存在多个 ip,还要再用 grep 过滤一下。 | ||
| + | |||
| + | ===== try/catch 异常处理 ===== | ||
| + | < | ||
| + | { # try | ||
| + | |||
| + | command1 && | ||
| + | #save your output | ||
| + | |||
| + | } || { # catch | ||
| + | # save log for exception | ||
| + | } | ||
| + | </ | ||
| + | ===== 操作 bash 数组、字典 ===== | ||
| + | < | ||
| + | |||
| + | # Array pretending to be a Pythonic dictionary | ||
| + | ARRAY=( " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | |||
| + | for animal in " | ||
| + | KEY=" | ||
| + | VALUE=" | ||
| + | printf "%s likes to %s.\n" " | ||
| + | done | ||
| + | |||
| + | 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.1582704104.txt.gz · 最后更改: 2020/02/26 16:01 由 plough