mac下快速写一个脚本

创建脚本

首先在终端下创建一个脚本文件

1
touch apkcompare

给脚本赋予执行权限

1
chmod +x apkcompare

打开脚本

使用zsh中装的sublime插件打开脚本文件

1
st apkcompare

编辑脚本内容

1
2
3
4
5
6
7
#!/bin/bash
echo "请输入改变前的apk路径:"
read path1
echo "请输入改变后的apk路径:"
read path2
cd /Users/xiangcheng/downloads
java -jar apkcompare-1.0.jar $path1 $path2 compare_result_file

执行脚本

1
./apkcompare

如何全局能执行脚本

上面执行脚本要到指定的目录才行,如果我想全局都能运行脚本的话,可以通过配置脚本的根目录的环境变量,比如我的脚本都放在了desktop/脚本文件夹中,那么我可以在.zshrc中配置如下:

1
export PATH="$HOME/desktop/脚本:$PATH"

将脚本定制成应用

平时使用shell脚本的时候,每次都要找到shell脚本的执行文件非常麻烦,然后想到如果能将shell脚本制作成一个应用那就非常nice了。
下面就以平时用的比较多的反编译脚本jadx为例来实践。

先通过Alfred工具搜索出本机的Automator工具:

alt text

选取应用程序

alt text

添加shell脚本

  1. 在左侧搜索 “运行 Shell 脚本”(Run Shell Script)。 alt text
  2. 拖动到右侧工作区。 alt text
  3. 在 Shell 选项里,选择 /bin/bash(或 /bin/zsh)。 alt text
  4. 在文本框里输入如下代码:
1
2
#!/bin/bash
/opt/homebrew/Cellar/jadx/1.5.1/bin/jadx-gui

alt text 我是通过homebrew装的jadx工具,所以指定下自己的jadx目录。

保存应用

alt text alt text

给应用定制图标

mac下应用的图标都是通过应用下的Info.plist文件来控制的: alt text 它是通过CFBundleIconFile字段控制的,这里我把图标放在了应用的Resources文件下: alt text 可以看到需要一个.icns的文件,这里我是通过在线网站https://cloudconvert.com/png-to-icns来实现png->icns的。一切替换完后,还需要刷新 Launch Services,否则 macOS 可能不会立刻识别新图标,执行如下脚本:

1
2
touch /Applications/Jadx.app
killall Finder

我在chatgpt搜索的时候,它是通过touch ~/Applications/Jadx.app来执行的,但是我发现我的Jadx.app是在如下目录: alt text 所以不用定位到Users/用户名,要不然会报错找不到Jadx应用。这里提一句mac下~表示的目录是Users/用户名,比如我的如下: alt text 操作完后,一个带图标的shell脚本的应用就创建成功了。

我的脚本工具集

apk比对脚本:
apkcompare

字节码查看脚本:
bytecode-viewer

批量删除指定后缀的图片脚本:
delete_images

反编译apk的脚本:
jadx

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy