Bash

如何在 Bash 中抽取子字符串

如何在 Bash 中抽取子字符串

所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “3382” 就是 “this is a 3382 test” 的子字符串。 我们有多种方法可以从中把数字或指定部分字符串抽取出来。
我是如何开始踏上 bash 脚本编程之路的?

我是如何开始踏上 bash 脚本编程之路的?

人们总有写成千上万行代码的需求,并对它进行分支、合并、修复错误。但是,通过简单的脚本或其它方式来自动化、简单化任务的需求也一样强烈。这样的一个小脚本和小小的自信就能够让你启程脚本编程之路。
漫画赏析:Bash 的历史

漫画赏析:Bash 的历史

在 Linux 中,.bash_history 原本的功能为存储在 bash 下执行过的命令历史,在这里,引申为 bash 的历史。所以在展示 .bash_history 返回了下面的摘自维基百科的内容。
快来帮 Bash 投票新 LOGO 吧!

快来帮 Bash 投票新 LOGO 吧!

Bash 的 LOGO 创建以来已经有大约 20 年了没有变过了!现在是换一个新的的时候了。 Bash 当前的维护者Chet Ramey 在邮件列表里面说: 有人给这个项目创建新 LOGO,这位慷慨的贡献者 Justin Dorfman 很有耐心地让我从几个都很棒的新 LOGO 中选择一个(这是这件事里面最困难的部分了)。 所以我们将这三个设计图缩小,放到网上让 Bash 社区来选择一个胜出者。 快来帮 Bash 选一个新的吧! 投票地址是:http://goo.gl/forms/qjohwvtgys(显然你需要自行翻越高山,跨过大海~)。 话说,在这之前,我都从来没注意过 Bash 居然有 LOGO (很多
Linux 中 10 个有用的命令行补全例子

Linux 中 10 个有用的命令行补全例子

在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令。这并不新鲜,可能你已经知道了。这个功能被称作命令行补全bash completion。默认情况下,bash 命令行可以自动补全文件或目录名称。不过,我们可以增强 bash 命令补全功能,通过 complete 命令让它达到新的高度。 这个教程说明了我们是怎样使用可编程的命令行补全功能(programmable completion)把自动补全功能应用于选项或者命令行参数。 例如:在输入 write 命令之后,如果你按两次 TAB 按键,自动补全功能会提供可供执行 write 操作的
Bash 下如何逐行读取一个文件

Bash 下如何逐行读取一个文件

在 Linux 或类 UNIX 系统下如何使用 KSH 或 BASH shell 逐行读取一个文件? 在 Linux、OSX、 *BSD 或者类 Unix 系统下你可以使用 ​​while..do..done 的 bash 循环来逐行读取一个文件。 在 Bash Unix 或者 Linux shell 中逐行读取一个文件的语法 对于 bash、ksh、 zsh 和其他的 shells 语法如下 while read -r line; do COMMAND; done input.file 通过 -r 选项传递给 read 命令以防止阻止解释其中的反斜杠转义符。 在 read 命令之前添加 IFS= 选项,来防止首尾的空白字符被去掉。 while IFS= read -r line; do COMMAND_on $line; done
Bash 惊现年度最大安全漏洞!

Bash 惊现年度最大安全漏洞!

Linux 用户今天又得到了一个惊喜! Red Hat 安全团队在 Linux 中广泛使用的 Bash shell 中发现了一个隐晦而危险的安全漏洞。该漏洞被称作Bash Bug或Shellshock。 当用户正常访问,该漏洞允许攻击者的代码像在 shell 中一样执行,这就为各种各样的攻击打开了方便之门。而且,更糟糕的是该漏洞已经在 Linux 中存在很久了,所以修补某个 Linux 机器很容易,但是要全部修补,几乎不可能完成。 Red Hat 和 Fedora 已经发布了针对该漏洞的修补程序。该漏洞也会影响 OS X,不过苹果公司尚未发布正式的修补程序。 这个 Bash 漏洞可能比 Heartble
Bash Getopts - 让你的脚本支持命令行参数

Bash Getopts - 让你的脚本支持命令行参数

以前我总想知道如何为我的Bash脚本创建命令行参数。经过搜索,我发现了2个函数可以处理这个问题,getopt 函数和 getopts 函数。我无意争论哪一个函数更好的。getopts 是一个shell内建命令,而且似乎比 getopt 更容易实现这个功能,所以在这篇文章里我准备讲讲getopts。 bash getopts 开始的时候,我只试着处理传递给脚本的命令行参数。最后,我添加了另外一些有用的功能函数,使得这个脚本可以成为其他任何交互式脚本处理命令行的开始模板。我还添加了一个纯文本格式的帮助函数,让脚本更加容易阅读。 与其来一长段文字解释 getopts 在ba
10个 Linux/Unix下 Bash 和 KSH shell 的作业控制实例

10个 Linux/Unix下 Bash 和 KSH shell 的作业控制实例

Linux 和 Unix 属于多任务的操作系统,也就是说一个系统在同一时间段内能运行多重任务(进程)。在这个新的博客系列,我将会列出相关的 Linux 和 Unix 作业(job)控制的命令,你可以通过这些命令在 Bash 或 Korn 还有 …
Linux shell中的那些小把戏

Linux shell中的那些小把戏

我日常使用Linux shell(Bash),但是我经常忘记一些有用的命令或者shell技巧。是的,我能记住一些命令,但是肯定不会只在特定的任务上使用一次,所以我就开始在我的Dropbox账号里用文本文件写下这些Linux shell的小技 …