前言
不知道你是否在为突然想实现某个功能的小脚本而苦苦寻找答案,这里有一份“圣经”用来查看各种仅使用内置bash命令实现各种常用的功能和鲜为人知的用法。
为什么要写脚本?
无论是作为Linux应用开发还是运维,编写shell脚本都是一个最基本的技能,而使用shell能够简洁快速地解决很多问题,提高效率。什么你还不会?那么建议你花点时间学一下,毕竟花不了你太多时间就可以让它给你干活。你也可以参考这里了解一下最基本的用法《这些必备的shell知识你都会了吗?》
为什么要使用内置bash来实现?
使用内置的bash命令可以避免一些依赖,不至于你的脚本迁移到另外一个系统还需要装一些依赖,另外一方面,使用这些内置命令常常也会更加高效。
这份”圣经“是怎样的?
实际上它是github上地一个星标项目,地址如下:
https://github.com/dylanaraps/pure-bash-bible
目前星标近20k,它列出了一些常用的功能,有哪些呢,我们可以看看。
-
字符串
-
-
去掉字符串首尾的空格 -
去掉字符串中的空格并用空格分割 -
在字符串中使用正则表达式 -
分割字符串 -
字符串大小写转换 -
字符串反转 -
检查字符串中是否包含某个子串 -
检查字符串是否以某个子串结尾 -
……
-
-
数组
-
-
反转数组 -
去除数组中重复元素 -
随机排列数组元素 -
……
-
-
循环
-
-
以数值作为循环条件 -
以数值变量作为循环条件 -
以数组作为循环条件 -
遍历文件内容 -
遍历文件和目录 -
……
-
-
文件处理
-
-
将文件内容读取到字符串中 -
将文件内容以行为单位读取到数组中 -
读取文件的前n行 -
读取文件的最后n行 -
创建空文件 -
……
-
-
文件路径
-
-
获取全路径中的目录名 -
获取全路径中的文件名
-
注意,这里仅仅是目录的一小部分,原项目中还有很多内容,包括一些内置变量的获取,系统信息的获取,一些常用语法,常见表达式,基本运算等等。
内容是什么样子的呢?
举个例子,如何去掉字符串首尾的元素,它给了一个shell函数:
trim_string() {
# Usage: trim_string " example string "
: "${1#"${1%%[![:space:]]*}"}"
: "${_%"${_##*[![:space:]]}"}"
printf '%s
' "$_"
}
那么在shell脚本中就可以这样调用:
trim_string " Hello, World "
#会打印这个结果:Hello, World
而又例如在介绍循环的时候,告诉你一些常见的循环方式:
# Loop from 0-100 (no variable support).
for i in {0..100}; do
printf '%s
' "$i"
done
或者
VAR=50
for ((i=0;ido
printf '%s
' "$i"
done
又或者:
for element in "${arr[@]}"; do
printf '%s
' "$element"
done
总之作为基础学习的手册也是非常不错了,一些常用的语法在这里都能看到。
总结
实际上里面很多相关功能也有一些bash命令可以直接实现,但是大部分内容作为一个速查的渠道还是不错的,有兴趣的可以去查看:
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !