说到脚本,大家可能会想到 ruby, js, shell 等等。我们一般用这些脚本对我们的开发进行一些辅助工作。 比如自动打包,更新数据等等。合理的脚本自动化配置,能节省我们很多处理繁杂事务的时间,极大的提高我们的效率。

同样, Swift 也提供了这样的能力,所以下次我们再有类似的需求的时候,就多了一种选择。并且如果你开发项目使用的就是 Swift 的话,那么再用它来写脚本几乎就没有什么学习成本了,也会潜移默化的提高效率。




1、构建脚本

Swift 脚本编写起来也很简单,就是基本的 Swift 语法,比如我们创建一个文件 hello.swift:

[Swift] 纯文本查看 复制代码
print("Hello Swift")


创建并保存文件后,在命令行中输入 swift hello.swift 即可执行这个脚本了。 我们看到命令行中输出了:

[Plain Text] 纯文本查看 复制代码
Hello Swift


怎么样, Swift 脚本使用起来和我们之前的流程基本没有什么不用。

作为脚本使用的 Swift

作为脚本使用的 Swift - 敏捷大拇指 - 作为脚本使用的 Swift





2、Shebang 与自动执行

稍微熟悉 Unix 环境的同学可能会对 Shebang 有所了解,简单来说它是写在脚本文件第一行的一段内容。用于表示这个脚本的执行环境。那么它有什么用呢? 咱们接着看。 比如我们刚才的 hello.swift 脚本,我们可以给它加上 Shebang:

[Bash shell] 纯文本查看 复制代码
#!/usr/bin/env swift
print("Hello Swift")


从内容上可以看出,我们第一行声明了执行这个脚本所需的命令。 然后我们在对这个脚本添加执行权限:

[Bash shell] 纯文本查看 复制代码
chomd +x hello.swift


现在,我们可以执行将这个脚本当成可执行文件那样运行了:

[Bash shell] 纯文本查看 复制代码
$ ./hello.swift


脚本的执行结果和前面我们用 swift hello.swift 命令的方式完全一样。 也很好理解,第一行的 Shebang 告诉系统我们该如何运行这个脚本,然后系统得到这个信息后,就可以正确的运行我们的脚本了。