PlistBuddy工具使用
來源:互聯網
上載者:User
# [PlistBuddy](http://www.mengyueping.com/2018/08/13/mac_PlistBuddy/)`PlistBuddy` 是 `Mac` 系統中一個用於命令列下讀寫 `plist` 檔案的工具。可以用來讀取或修改 `plist` 檔案的內容。<!-- more -->* `PlistBuddy` 工具路徑```bash/usr/libexec/PlistBuddy```* 可以在 `/usr/local/bin/` 目錄下建立軟串連,就可以直接使用 PlistBuddy 命令了```bash# 不能直接使用 PlistBuddy 命令ln -s /usr/libexec/PlistBuddy /usr/local/bin/PlistBuddy```* 查看協助```bash/usr/libexec/PlistBuddy --help```# 操作 `plist` 檔案* 列印 `info.plist` 檔案```bash/usr/libexec/PlistBuddy -c "Print" info.plist```* 列印欄位相應的值 ```bash# 列印 info.plist 中欄位 name 值/usr/libexec/PlistBuddy -c 'Print :name' info.plist# 指令碼中擷取 plist 檔案中欄位 name 值,並賦值給變數name=$($PlistBuddy -c "print :name" info.plist)# 列印數組欄位 testArr 第 0 項/usr/libexec/PlistBuddy -c 'Print :testArr:0' info.plist```* 添加欄位欄位類型|--------|string |array |dict |bool |real |integer |date |data |```bash# string 類型:給 test.plist 檔案添加欄位 Version 值為 1.0.0/usr/libexec/PlistBuddy -c 'Add :Version string 1.0.0' test.plist``````bash# Array 類型:給 test.plist 檔案添加數組欄位 AppArr# 1. 添加 key 值/usr/libexec/PlistBuddy -c 'Add :AppArr array' test.plist# 注意:key之間用 : 隔開,且不能有空格:# 2. 添加 value 值 app1 、app2/usr/libexec/PlistBuddy -c 'Add :AppArr: string app1' test.plist/usr/libexec/PlistBuddy -c 'Add :AppArr: string app2' test.plist``````bash# Dictionary 類型: 給 test.plist 檔案添加數組欄位 AppDic# 1. 添加 key 值/usr/libexec/PlistBuddy -c 'Add :AppDic dict' test.plist# 2. 添加 value 值 name 、age/usr/libexec/PlistBuddy -c 'Add :AppDic:name string Tom' test.plist/usr/libexec/PlistBuddy -c 'Add :AppDic:age string 100' test.plist```* 刪除欄位```bash# 刪除 test.plist 中的欄位 Version/usr/libexec/PlistBuddy -c 'Delete :Version' test.plist```* 修改欄位值```bash# 修改 string 類型/usr/libexec/PlistBuddy -c 'Set :version "1.1.1"' test.plist# 修改 array 類型. 修改 AppArr 欄位中數組的第0個值./usr/libexec/PlistBuddy -c 'Set :AppArr:0 "this is app1"' test.plist# 修改 dict 類型. 修改 AppDic 欄位中 name 的值/usr/libexec/PlistBuddy -c 'Set :AppDic:name "Jim"' test.plist```* 合并兩個 plist```bash# 把 A.plist 合并到 B.plist. 有相同欄位,會發生覆蓋。/usr/libexec/PlistBuddy -c 'Merge A.plist' B.plist```[原文連結](http://www.mengyueping.com/2018/08/13/mac_PlistBuddy/):[http://www.mengyueping.com/2018/08/13/mac_PlistBuddy/](http://www.mengyueping.com/2018/08/13/mac_PlistBuddy/)[我的Blog](http://www.mengyueping.com): [http://www.mengyueping.com](http://www.mengyueping.com)55 次點擊