背景
逛 Github Trending 的时候,发现一个叫 pure bash bible 的项目,这个项目主要是介绍一些常用功能的 Bash 实现。
在日常使用中,Bash 作为大部分 Linux 发行版的默认 Shell 是使用最多的,尤其是进行一些简单的自动处理事件上很方便。但是我使用的时候通常会用 Bash、Sed、Awk、cut、timeout 等一些 Linux 命令相互配合使用。
如果你要维护的 Server 是一个比较少见的版本,比如:ESXi 5.0、XenServer 6.0 等版本,那么就会导致有些命令是缺失的,且无法安装,这时候就需要单独使用 Bash 来实现一些其他命令的功能。pure bash bible
这个项目列举了很多常用常用功能,有一些比较有借鉴意义,在此记录。
字符串
删除字符串前后空格
1 | trim_string(){ # Ups:trim_string“example string” |
删除字符串中所有空格
1 | # shellcheck disable=SC2086,SC2048 |
根据指定分隔符分隔字符串
1 | split() { |
数组
反转
1 | reverse_array() { |
删除重复项
1 | remove_array_dups() { |
随机选择
1 | random_array_element() { |
文件
获取文件绝对路径
1 | dirname() { |
获取文件相对路径
1 | basename() { |
进度条
打印进度条
1 | bar() { |
总结
感觉平时很难用到这么诡异的 Bash 语法的。。。。