命令行和脚本关系
命令行:单一shell命令,命令行中编写与执行;
脚本:众多shell命令组合成一个完成特定功能的程序,在脚本文件中进行编写维护。
脚本是一个文件,一个包含有一组命令的文件。
编写一个shell脚本简单分为三步
- 编写脚本
编写我们的第一个脚本#!/bin/bash # 我们的第一个脚本 echo "Hello Shell World!"
脚本最开头以#!开始的描述叫做shebang,用来告诉操作系统,脚本中接下来的命令执行所用的脚本解释器的位置。
第二行以#开头的描述是shell脚本语言中的注释符号,并不参与程序的实际执行,用于增强脚本命令的可读性,便于后续的阅读、理解、扩展和维护。
第三行是一条简单的打印语句。
以上构成了一个输出打印语句的最简单shell脚本。 - 赋予脚本可执行权限
执行脚本需要赋予脚本文件可执行权限,通过命令chmod修改权限。通常有两种常用的权限设置,755和700chmod 755 xxx.sh # 任意用户都可执行 chmod 700 xxx.sh # 脚本文件拥有者才可执行
为了成功执行脚本,脚本文件必须是可读的
- 脚本放在合适的位置
为了执行脚本,必须显式指明脚本文件所在的路径。除非把脚本文件放在环境变量PATH所列路径中。
如何把一个特定路径放在环境变量PATH中?export PATH=~/bin:"$PATH" source .bashrc # 或者 . .bashrc;source内置命令,用于读取文件配置;.命令等效source
脚本格式约定
- 长选项名
- 缩进和行连接符
find ~ \ \( \ -type f \ -not -perm 0600 \ -exec chmod 0600 '{}' ';' \ \) \ -or \ \( \ -type d \ -not -perm 0700 \ -exec chmod 0700 '{}' ';' \ \)
利用长选项名和行连接符缩进的目的是提高可读性,以便于阅读理解,达到易于维护和扩展。
可以关注作者微信公众号,追踪更多有价值的内容!