美文网首页
shell 脚本修改plist配置

shell 脚本修改plist配置

作者: 萧城x | 来源:发表于2018-07-04 14:34 被阅读124次

需求:通过脚本修改plist的URL数值,通过了解 MAC自带PlistBuddy修改plist。 通过shell脚本调用PlistBuddy可以解决问题。
开搞!

1.PlistBuddy

  • Mac自带的一个操作plist文件的工具
  • 路径:/usr/libexec/PlistBuddy
  • 使用: /usr/libexec/PlistBuddy -c "Set key value" plistUrl
  • PlistBuddy的几个关键点.
    • 如何定义嵌套的键: 每个键之间使用":"符号分隔,比如:Software->Gallery->OnlineMarketplace表述为:":Software:Gallery:OnlineMarketplace", 第一个":"表示根.
    • 如果键值的名称包含空格等特殊字符的时候,如同命令行的转义字符一样,使用"/"来转义,比如: ":Software:Gallery:Online/ Marketplace".
    • PlistBuddy如果不使用"-c"参数,则进入人机交互模式, "-c"的意思就是执行它后面的命令列表,而命令如果有参数,需要把它们包含在引号中。
  • 例子
1.添加
plistbuddy -c 'Add :Software:Gallery:Version string "1.0"' ~/Desktop/com.sample.plist
2.输出
plistbuddy -c "Print" ~/Desktop/com.sample.plist
3.修改
plistbuddy -c 'Set :Software:Gallery:Version "1.1"' ~/Desktop/com.sample.plist
4.删除
plistbuddy -c 'Delete :Software:Gallery:Version' ~/Desktop/com.sample.plist
5.合并
plistbuddy -c "Merge ~/Desktop/Global.plist :Software:Gallery" ~/Desktop/com.sample.plist

2.Shell脚本
上我写的shell脚本,直接在Xcode编写。


echo "--------------------------"
echo 'plist path:'
read FILM
  /usr/libexec/PlistBuddy  -c  "Print"  $FILM
echo "--------------------------"

echo 'ipa path'
read ipa 
    /usr/libexec/PlistBuddy  -c  'Add :targetKey string "'$ipa'"' $FILM
#    /usr/libexec/PlistBuddy  -c  'set :arr:0:2 "'$ipa'"' $FILM
echo "--------------------------"
echo "---------success----------"

3.运行shell脚本
赋予脚本可执行的权限
1、进入Mac终端(快捷键:command+Space,输入Terminal 回车);
2、进入shell文件所在的目录:命令:cd /Users/zack/desktop (注意,cd 后面有一个空格,后面是上面所建立的script.sh文件所在的目录);
3、赋予脚本可执行权限,输入命令:chmod +x script.sh 回车

运行脚本经过上述步骤,script.sh已经成为一个可执行脚本,输入命令:./script.sh 回车,终端输出“plist path:”

屏幕快照 2018-07-04 下午2.31.14.png

参考文章

在脚本中操作plist文件 链接:https://www.jianshu.com/p/9dd6bae40de6
PlistBuddy 链接:https://www.jianshu.com/p/e0d254ce9340
shell教程 链接:http://www.runoob.com/linux/linux-shell.html
JAVA生成plist 链接:https://blog.csdn.net/chenyblog/article/details/68484120

相关文章

网友评论

      本文标题:shell 脚本修改plist配置

      本文链接:https://www.haomeiwen.com/subject/ddueuftx.html