Shell脚本入门知识 gaunthan Posted on Jul 12 2016 ? ShellScript ? ## 概述 基础知识|详细说明 --|-- 用途|Shell脚本是使用Shell语言编写的脚本程序,用于完成特定的、较复杂的系统管理任务。 格式|Shell脚本一般以`.sh`结尾,文件格式为普通文本文件(plaint text)。Shell脚本一般保存着多条Linux命令,用于完成特定的功能。 执行方式|Shell脚本中的命令按照预定的顺序逐条一次解释执行。 ## 基本内容 ### 运行环境设置 在类Unix系统上,建议为脚本文件指定解释程序,这通过在文件内容最前面加上 *Shebang* 实现。Shebang是一条指示性指令,提供给操作系统的程序装载器,以指定运行本脚本时所使用的解释器。如对于Bash-Shell脚本,我们可以在文件最开始添加以下这行内容: ```shell #!/bin/bash ``` 其中`/bin/bash`指出解释器所在路径。对于其他语言的脚本,也可以使用Shelbang指定解释器,如对于以下Python脚本,我们为它指定了Python 2解释器: ```python #!/bin/python2 print 'Hello, world!' ``` 注意,`#!`之间有空格或者Shebang之前有内容,都会造成Shebang失效: - `#!`之间有空格:  - Shebang前有内容(换行符)  你也许会好奇为什么执行Shell脚本时不会出现这种情况,那是因为执行一个文本文件时,如果没有脚本没有成功指定一个解释器,则使用默认的解释器`sh`进行内容的解释。 在Fedora上,`sh`仅仅是到`bash`的一个软链接:  ### 注释信息 Shell脚本中也可以添加注释信息,以提高脚本内容的可读性。以`#`开始的行即是注释信息。 ### 可执行的Linux命令行 Shell脚本通过执行其他系统命令或程序来完成特定任务。 ## 执行Shell脚本 ### 使用解释器执行 我们可以通过`bash hello.sh`的方式运行Shell脚本,这种方式的优点是: - 不需要设置脚本的解释器 - 不需要给脚本设置可执行权限 ### 直接执行 除了使用解释器来执行脚本程序,我们也可以直接在终端中运行脚本程序,如`./hello.py`。这种方式有一定的要求: - 需要设置脚本的解释器 如在脚本文件的第一行写`#!/bin/bash`,指定`/bin/bash`作为脚本的解释器。 - 需要给脚本设置可执行权限 如需要执行`chmod u+x hello.sh`以为当前用户添加执行权限。 赏 Wechat Pay Alipay Shell脚本中的数组 Shell脚本实例