如果你希望自动执行常规任务并使你的生活更轻松,那么使用 Shell 脚本是一个很好的选择。本文将向你介绍一些基本概念,这些概念将帮助你编写高效的 Shell 脚本。
Shell 脚本是一种被设计用来运行命令行解释器 UNIX Shell 的计算机程序。Shell 脚本的各类变种被视作脚本语言。Shell 脚本执行的典型操作包括文件操作、程序执行和文本打印。设置环境、运行程序并执行任何必要的清理或日志记录的脚本称为封装。
识别 Shell 命令提示符
你可以通过查看终端窗口中的提示符符号来识别 Linux 系统的计算机上的 Shell 命令提示符的用户是普通用户还是超级用户。
#符号用于超级用户,$符号用于具有标准权限的用户。基本命令
脚本附带了很多可以在终端窗口上执行的、用以管理您的计算机的命令。每个命令的详细信息可以在该命令附带的使用手册中找到。你可以使用如下命令来查看手册:
man一些常用的命令有:
date # 显示当前日期和时间 cal # 显示当前月份日历 df # 显示磁盘使用情况 free # 显示内存使用情况 ls # 列出文件和目录 mkdir # 创建目录每个命令都附带了几个可以一起使用的选项。你可以参考使用手册以了解更多的细节。
man date的输出如图 1 所示。
重定向操作符
当你希望捕获文件中的命令输出或重定向到文件时,可以使用重定向操作符。
大括号扩展
大括号扩展是 UNIX 提供的强大选项之一。它有助于在一行指令中使用最少的命令完成大量操作。例如:
$echo Front-{A,B,C}-Back Front-A-Back, Front-B-Back, Front-C-Back$echo {Z..A} Z Y X W V U T S R Q P O N M L K J I H G F E D C B A$mkdir {2009..2011}-0{1..9} {2009..2011}-{10..12}这条命令会为 2009 到 2011 年里的每个月建立一个目录。
环境变量
环境变量是一个动态命名的值,它可以影响计算机上运行的进程的行为方式。此变量是进程运行环境的一部分。
网络命令
网络命令对于排查网络问题和检查连接到客户机的特定端口非常有用。
grep 命令
grep命令用于查找系统和日志中的错误。它是 Shell 拥有的强大工具之一。量词
下面是一些量词的例子:
文本处理
文本处理是当今 IT 世界中的另一项重要任务。程序员和管理员可以使用这些命令来切片、剪切和处理文本。
窍门和技巧
在 Linux 中,我们可以通过使用简单的命令或控制选项返回到命令的历史记录。
一些历史命令的技巧:
CTRL + R: 搜索命令历史!!number:执行编号为number的命令!!:执行上一条命令!?string: 执行包含string的上一条命令!string:执行以string开始的上一条命令export HISTCONTROL=ignoredups: 忽略重复条目export HISTSIZE=10000:设置存储的历史行数随着你对 Linux 命令逐渐熟悉,你将能够编写封装脚本。所有手动任务,如定期备份、清理文件、监控系统使用情况等,都可以使用脚本自动完成。在学习高级概念之前,本文将帮助您开始编写脚本。

一些 Shell 脚本的基本概念
分享
