一、创建运行shell脚本
1、要将shell命令放到文本文件中,首先需要用文本编辑器来创建一个文件,然后将命令输入到文件中
2、在创建shell脚本文件时,必须在文件的第一行指定要使用的shell。其格式为: #!/bin/bash
3、一般来说#用作注释行,第一行除外;!告诉 shell用哪个 shell来运行脚本
4、大多数shell命令都会产生自己的输出显示在控制台显示器上
5、通过echo命令可以添加自己的文本消息来告诉脚本用户脚本正在做什么
6、构建一个脚本文件执行创建新用户、给新用户分组、查看当前登录的用户;为刚刚构建的脚本文件添加输出前的提示;运行该脚本文件查看返回结果
二、使用变量、重定向指令
1、 变量允许你临时性地将信息存储在shell脚本中,以便和脚本中的其他命令一起使用
2、在脚本中,可以在环境变量名称之前加上美元符($)来使用这些环境变量
3、只要脚本在引号中出现美元符,它就会以为你在引用一个变量。脚本会尝试显示未定义的变量
4、要显示美元符,你必须在它前面放置一个反斜线
5、shell脚本中最有用的特性之一就是可以从命令输出中提取信息,并将其赋给变量。把输出赋给变量之后,就可以随意在脚本中使用了
6、反引号字符(`) ;$()格式
7、重定向输入和输出:有些时候你想要保存某个命令的输出,bashshell提供了几个操作符,可以将命令的输出重定向到另一个位置(比如文件)。重定向可以用于输入,也可以用于输出,可以将文件重定向到命令输入
8、bashshell用大于号(>)将命令的输出发送到一个文件中
9、如果输出文件已经存在了,>会用新的文件数据覆盖已有文件。如果不想覆盖文件原有内容,而是想要将命令的输出追加到已有文件中,可以用双大于号(>>)来追加数据。
10、输入重定向和输出重定向正好相反。输入重定向将文件的内容重定向到命令,而非将命令的输出重定向到文件。输入重定向符号是小于号(<)
11、wc命令可以对对数据中的文本进行计数。默认情况下,它会输出3个值:文本的行数;文本的词数;文本的字节数
12、内联输入重定向(inlineinputredirection)只需要在命令行中指定用于输入重定向的数据。内联输入重定向符号是远小于号(<<)
13、查看当前系统的所有用户基本信息,使用重定向命令,将查看结果保存为 username.txt文件;使用 wc和重定向命令,查看 username.txt中的文本行数;查看当前系统的所有用户基本信息,不通过重定向的方式,直接查看文本行数
14、执行数字运算:在shell脚本中有两种途径来进行数学运算。expr命令✓使用方括号;expr部分字符需要转义字符
15、可以用命令替换运行bc命令,并将输出赋给一个变量。基本格式如下:variable=$(echo"options;expression"|bc);options允许你设置变量。如果不止一个变量用分号分开;expression参数定义了通过bc执行的数学表达式。
16、在脚本中使用 bc进行加减乘除运算,要求保留3位小数;在shell脚本中用方括号执行以下数学运算•100*(50-45)•100/52•观察输出结果
三、退出脚本
1、shell中运行的每个命令都使用退出状态码(exitstatus)告诉shell它已经运行完毕
2、退出状态码是一个0~255的整数值,在命令结束运行时由命令传给shell。可以捕获这个值并在脚本中使用
3、Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码
4、默认情况下,shell脚本会以脚本中的最后一个命令的退出状态码退出。exit命令允许你在脚本结束时指定一个退出状态码
5、针对某脚本文件,指定一个退出状态码;运行后,查询其退出状态码,并对其状态进行描述