2015-01-22 2 views
1

У меня есть этот Баш скрипт, который принимает plist пропеллер от package.json, и я хотел бы передать его plutilданных труб в plutil

cat package.json | ./node_modules/.bin/json "plist" | plutil -convert xml1 -o Info.plist 

Вместо того чтобы создавать временный файл и удалить его.

cat package.json | ./node_modules/.bin/json "plist" > ./plist.json 
plutil -convert xml1 ./plist.json -o ./MyApp.app/Contents/Info.plist 
rm ./plist.json 

Это не пункт трубопровода, чтобы предотвратить это?

+0

Вы пытались добавить '-' в конец вашей командной строки' plutil'? Согласно man-странице для нее, которую нужно добавить, где аргумент входного файла идет, чтобы 'plutil' знал, чтобы читать из stdin. Кроме того, вы получаете какую-то конкретную ошибку или что? – mscdex

ответ

4

Попробуйте cat package.json | plutil -convert xml1 -r -o - -- -

Вот вам еще один полезный фрагмент. Он заменяет некоторые элементы plist, которые не поддерживаются json со строками.

security cms -D -i embedded.mobileprovision | sed -Ee 's#<(\/)?dat[ae]>#<\1string>#g' | plutil -convert json -r -o - -- - 
Смежные вопросы