你有要说明的地方吗?请将它们添加到你的 Bash 脚本中。
初学者们,让我们在这个大型的教程中来认识一下 Bash 脚本编程。
在 Bash 基础系列的最后一章中学习函数的全部知识。
在 Bash 基础知识系列的倒数第二章节,学习 for、while 和 until 循环。
如果这样,那就那样,否则就……。还不明白吗?了解了 Bash Shell 脚本中的 if-else 语句后就明白了。
在 Bash Shell 中可以查找子字符串、替换子字符串、连接字符串以及更多字符串操作。
本章将介绍如何在 Bash Shell 脚本中使用数组。学习添加元素、删除元素和获取数组长度。
在本系列的第四章,学习在 Bash 中使用基本数学运算。
在 Bash 基础系列的这一章中,学习如何向 Bash 脚本传递参数并使它们具有交互性。
在本章的 Bash 基础知识系列中,学习在 Bash 脚本中使用变量。
这是一个新教程系列的开始。在这一篇中,你将熟悉 Bash 脚本。
Bash 有一些方便的自动化功能,可以让我在 Linux 上处理文件时更轻松。
它将涉及到函数、用 if/elif 语句进行比较,并以研究 while 循环作为结尾。
我们会用到一些 上篇 中已经熟悉的命令(如果遇到新命令,会给出讲解),进而涵盖一些标准输出、标准输入、标准错误、“管道”和数据重定向的相关知识。
如标题所示,本文将涵盖面向初学者的 Bash Shell 脚本知识。
巧用 Bash 脚本程序能帮助你完成很多极具挑战的任务。
《Bash it out》使用 16 个谜题,涵盖了基本、中级和高级 Bash 脚本。
在家玩流行的英国游戏节目 “Countdown” 中的数字游戏。
学习 Bash 读取和写入数据的不同方式,以及何时使用每种方法。
了解如何在 Bash 中编写定制程序以自动执行重复性操作任务。
Bash 自动测试系统可以使 Bash 代码也通过 Java、Ruby 和 Python 开发人员所使用的同类测试过程。
Bash 是大多数 Linux 系统上的默认命令行 shell。所以你为什么不试着学习如何最大限度地利用它呢?
编程一个简单的游戏是练习一门新语言并与其他你掌握的语言进行比较的好方法。
Brian J. Fox 讲述了他在自由软件基金会的工作,他需要创建一个自由的 Bourne shell 版本。它必须兼容但不使用任何原始源代码的元素。这个 Bourne-Again Shell,即 Bash
这篇文章中,我们会讨论一些比较推荐的 Bash 字符界面的点文件配置。
告诉 Bash 你想要它记住什么,甚至删除不需要的记录重写历史。
使用循环和查找命令批量自动对多个文件进行一系列的操作。
你是否正在寻找 bash 的替代品?你是否在寻找更人性化的东西?不用再看了,因为你刚发现了 fish!
一个可以列出文件、目录、可执行文件和链接的简单脚本。
通过别名和其他捷径来提高你经常忘记的那些事情的效率。
本文是 Bash 编程系列三篇中的最后一篇,来学习使用循环执行迭代的操作。
学习逻辑操作符和 shell 扩展,本文是三篇 Bash 编程系列的第二篇。
本文将向你展示如何在 Fedora 的命令行解释器(CLI)Shell 中设置一些强大的工具。如果使用bash(默认)或zsh,Fedora 可让你轻松设置这些工具。
让我们通过本系列文章来学习基本的 Bash 编程语法和工具,以及如何使用变量和控制运算符,这是三篇中的第一篇。
这些必不可少的 Bash 快捷键可在命令行上节省时间。
通过这些命令行游戏,学习有用的 Bash 技能也是一件乐事。
本周的《代码英雄》播客深入研究了最广泛使用的、已经成为事实标准的脚本语言,它来自于自由软件基金会及其作者的早期灵感。
两种编程语言都各有优缺点,它们在某些任务方面互有胜负。
第五个版本侧重于新的 shell 变量和许多重大漏洞修复。它还引入了一些新功能,以及一些与 bash-4.4 不兼容的更改。
Paul Brown 解释了 Linux shell 命令中那个不起眼的“点”的各种意思和用法。
初学者可以在此教程中了解环境变量。
尽管很多插件或工具都可以很轻易地满足这一需求,但我们也可以不使用插件和工具,自己手动自定义一些基本的显示方式,例如添加或者修改某些元素、更改前景色、更改背景色等等。
here 文档不是什么特殊的东西,只是一种 I/O 重定向方式,它告诉 bash shell 从当前源读取输入,直到读取到只有分隔符的行。
对 Bash 长命令使用压缩的版本来更有效率。
函数是一段可复用的代码。我们通常把重复的代码放进函数中并且在不同的地方去调用它。库是函数的集合。我们可以在库中定义经常使用的函数,这样其它脚本便可以不再重复代码而使用这些函数。
使 Bash 工作的更好的技巧。
进入这个古怪而神奇的 Bash 数组的世界。
要做到这一点,秘诀就是 bash 提供的一个叫做 EXIT 的伪信号,你可以 trap 它,当脚本因为任何原因退出时,相应的命令或函数就会执行。
学习更快地使用 BASH 不仅节省了更多时间,也让你因为学到了有用的知识而感到自豪。那么,让我们开始吧。
bash 别名(alias)只不过是指向命令的快捷方式而已。
所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “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的小技 …