shell中 bash -c 执行命令或者可执行文件
因为-c的意思是command,所以bash -c后面应该跟一个command。
shell运行脚本的两种方法:
1、bash xx.sh
2、bash -c "cmd string"
使用bash -c需要注意两点:
1、bash -c "cmd string"接的是shell命令字符串,用双引号括起来
2、bash -c "/path/to/file"接的是文件绝对路径,用双引号括起来,并且文件需要可执行权限
参考链接:
1.1、linux shell -c,【bash】关于shell中 bash -c 执行命令或者可执行文件
1.2、【bash】关于shell中 bash -c 执行命令或者可执行文件
XCode添加自定义Run Script Phase
示例:/usr/libexec/PlistBuddy -c "cmd string"
- 每次构建build号自增
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c"Print CFBundleVersion""$INFOPLIST_FILE")
buildNumber=$(($buildNumber +1))
/usr/libexec/PlistBuddy -c"Set :CFBundleVersion $buildNumber""$INFOPLIST_FILE"
参考链接:XCode添加自定义Run Script Phase
PlistBuddy简单使用
plist是Mac种非常普遍的一种文件格式,类似xml,通过键值对的方式来进行一些配置。而PlistBuddy则是Mac自带的专门解析plist的小工具,Buddy为好朋友,伙伴的意思。从名字不难看出PlistBuddy对plist文件的友好支持。
由于PlistBuddy并不在Mac默认的Path里,所以我们得通过绝对路径来引用这个工具:
- 查看帮助
/usr/libexec/PlistBuddy --help
- 打印info.plist文件
/usr/libexec/PlistBuddy -c "print" info.plist
参考链接:PlistBuddy简单使用