所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “3382” 就是 “this is a 3382 test” 的子字符串。 我们有多种方法可以从中把数字或指定部分字符串抽取出来。
人们总有写成千上万行代码的需求,并对它进行分支、合并、修复错误。但是,通过简单的脚本或其它方式来自动化、简单化任务的需求也一样强烈。这样的一个小脚本和小小的自信就能够让你启程脚本编程之路。
在这篇文章中,我们会介绍如何通过使用 bash-support vim 插件将 Vim 编辑器安装和配置 为一个编写 Bash 脚本的 IDE。
在 Linux 中,.bash_history 原本的功能为存储在 bash 下执行过的命令历史,在这里,引申为 bash 的历史。所以在展示 .bash_history 返回了下面的摘自维基百科的内容。
在我不假思索的使用了 bash shell 多年之后,决定尝试一下另外四个 shell 工具:ksh、tcsh、zsh 和 fish。
Bash 的 LOGO 创建以来已经有大约 20 年了没有变过了!现在是换一个新的的时候了。 Bash 当前的维护者Chet Ramey 在邮件列表里面说: 有人给这个项目创建新 LOGO,这位慷慨的贡献者 Justin Dorfman 很有耐心地让我从几个都很棒的新 LOGO 中选择一个(这是这件事里面最困难的部分了)。 所以我们将这三个设计图缩小,放到网上让 Bash 社区来选择一个胜出者。 快来帮 Bash 选一个新的吧! 投票地址是:http://goo.gl/forms/qjohwvtgys(显然你需要自行翻越高山,跨过大海~)。 话说,在这之前,我都从来没注意过 Bash 居然有 LOGO (很多
在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令。这并不新鲜,可能你已经知道了。这个功能被称作命令行补全bash completion。默认情况下,bash 命令行可以自动补全文件或目录名称。不过,我们可以增强 bash 命令补全功能,通过 complete 命令让它达到新的高度。 这个教程说明了我们是怎样使用可编程的命令行补全功能(programmable completion)把自动补全功能应用于选项或者命令行参数。 例如:在输入 write 命令之后,如果你按两次 TAB 按键,自动补全功能会提供可供执行 write 操作的
在 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
Linux 用户今天又得到了一个惊喜! Red Hat 安全团队在 Linux 中广泛使用的 Bash shell 中发现了一个隐晦而危险的安全漏洞。该漏洞被称作Bash Bug或Shellshock。 当用户正常访问,该漏洞允许攻击者的代码像在 shell 中一样执行,这就为各种各样的攻击打开了方便之门。而且,更糟糕的是该漏洞已经在 Linux 中存在很久了,所以修补某个 Linux 机器很容易,但是要全部修补,几乎不可能完成。 Red Hat 和 Fedora 已经发布了针对该漏洞的修补程序。该漏洞也会影响 OS X,不过苹果公司尚未发布正式的修补程序。 这个 Bash 漏洞可能比 Heartble
以前我总想知道如何为我的Bash脚本创建命令行参数。经过搜索,我发现了2个函数可以处理这个问题,getopt 函数和 getopts 函数。我无意争论哪一个函数更好的。getopts 是一个shell内建命令,而且似乎比 getopt 更容易实现这个功能,所以在这篇文章里我准备讲讲getopts。 bash getopts 开始的时候,我只试着处理传递给脚本的命令行参数。最后,我添加了另外一些有用的功能函数,使得这个脚本可以成为其他任何交互式脚本处理命令行的开始模板。我还添加了一个纯文本格式的帮助函数,让脚本更加容易阅读。 与其来一长段文字解释 getopts 在ba
Linux 和 Unix 属于多任务的操作系统,也就是说一个系统在同一时间段内能运行多重任务(进程)。在这个新的博客系列,我将会列出相关的 Linux 和 Unix 作业(job)控制的命令,你可以通过这些命令在 Bash 或 Korn 还有 …
我日常使用Linux shell(Bash),但是我经常忘记一些有用的命令或者shell技巧。是的,我能记住一些命令,但是肯定不会只在特定的任务上使用一次,所以我就开始在我的Dropbox账号里用文本文件写下这些Linux shell的小技 …