Mac 制作一个可执行脚本

在工作中我们经常会用到一些命令来完成指定工作,最常用的还是Git和SVN一些更新、提交操作,虽然命令不是很复杂,但是肯定会有三个步骤:

1、打开终端;
2、cd到指定目录下;
3、执行一系列相关操作命令。

一些常用的操作我们就可以制作一个脚本来简化步骤。

制作一个可执行脚本,分为以下步骤:

  • 创建脚本文件,在终端中执行(文件想要保存在哪里在那个目录下执行命令)

    1
    touch fileName.sh
  • 给脚本添加可执行权限,具体可以参考Mac 修改文件读写权限

    1
    chmod 755 fileName.sh
  • 使用终端cd到脚本所在目录执行

    1
    ./fileName.sh

简单应用

以下是我正在使用一个简易脚本,可以用它来实现:

1、将写好的博客生成静态文件并部署
2、备份博客所有文件到git,防止本地文件丢失

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#! /bin/bash
# dirname $0,取得当前执行的脚本文件的父目录
basepath=$(cd `dirname $0`; pwd)
#进入到hexo所在的目录
cd ${basepath}/Wynter.github.io
# 打印当前路径
currentPath=$(pwd)
echo "当前文件夹路径: $currentPath"
# 生成静态文件并部署
echo "start update hexo"
hexo d -g
echo "end hexo"
# 返回到上级目录
cd ..
# 拉去git上最新数据
git pull
# 备份博客所有文件到git
echo "start update git"
git add .
git commit -m "update blog"
git push origin master
date=$(date +%Y%m%d%H%M)

在iOS应用开发完成后,经常要使用Xcode打包给测试人员,不仅编译时间长,期间还不能敲代码,编译完成后还需要手动导入,发给测试人员等一系列操作,这完全可以使用脚本来实现来提升工作效率。

附上一个iOS自动打包脚本传送门

答疑解惑

既然都是脚本,为什么还要在终端里./fileName.sh才能执行,这so不智能了吧!为什么不能双击执行呢?

它的确是可执行脚本,因为脚本的后缀是.sh,而我们的mac中刚好有应用能识别并打开.sh结尾的文件,如果删除电脑上所有能识别.sh的应用,再次双击脚本就直接执行脚本了。

显然删除这么多应用是不现实的,我们可以在创建的时候不给文件添加后缀来实现双击执行脚本的目的。

总结

可以说没有什么操作是一个脚本解决不了的,如果解决不了那就再来一个。