程序员为何学习Shell?它作为程序与操作系统之间的桥梁,对编程任务处理和系统管理至关重要。本文将介绍Shell的基础知识和常见操作。
Linux提供了多种Shell解析器,如bash和sh。bash是Centos默认的解析器,它支持脚本编写。脚本通常以#!/bin/bash开头,指定解析器。
入门示例
1. 第一个脚本:helloworld,需求是输出"hello world"。在helloworld.sh中,编写如下的基本内容,可通过bash或.sh路径执行。
多命令处理
第二个脚本:创建test.txt并在指定目录添加文本。在batch.sh中,你需要理解如何处理系统变量和文件操作。
变量管理
-
系统变量如$HOME、$PWD等,可通过set命令查看或使用。
自定义变量包括定义、赋值、撤销,以及字符串类型处理。
特殊变量如$0-$9和$*、$@用于获取脚本名、参数等信息。
运算符和条件判断
-
expr和$[运算符进行算术运算,如3+2和2+3*4。
条件判断如[条件],用于比较和文件操作。
流程控制
-
if语句:根据输入判断输出,如输入1-2的相应信息。
case语句:根据输入执行不同的操作。
循环结构
-
for循环遍历指定范围或参数,如1到100的加法。
while循环持续执行,如累加到特定条件。
读取输入
read命令允许从控制台接收用户输入,如指定提示和等待时间。
函数和工具
-
cut命令用于数据切割,如文件内容的字段选择。
sed是流编辑器,可替换或删除文本内容。
awk处理文本行,执行复杂分析任务。
实用场景
-
查找空行行号、文件内容计算、文件存在检查等。
排序文本、查找特定字符的文件等操作。