使用终端从iOS模拟器中删除应用程序

时间:2013-03-01 08:38:07

标签: bash unix terminal

我试图使用在Build Server上运行的脚本从iOS模拟器中删除应用程序

#!/bin/Bash

#Go to iOS Sim
cd ~/Library/Application\ Support/iPhone\ Simulator

#Loop through each Version of iOS
for dir in ~/Library/Application\ Support/iPhone\ Simulator/*/
do
    dir=${dir%*/}
    cd "$dir"

    #Check if the iOS version has any apps installed                    
    if [ -d "$dir/Applications" ]; then
        echo Applications folder exists in "$dir"
        cd "$dir/Applications"

        #Delete each app
        for app in "$dir/Application/*/"
        do
            echo $app

            if [ "${#app}" -eq 36 ]; then   
                echo Delete Folder
            fi
        done

    fi
done

我陷入#Delete each应用部分。我想遍历Applications文件夹并首先检查文件夹的字符数是否为36(GUID)然后删除文件夹

2 个答案:

答案 0 :(得分:1)

如果引号中有*,bash将按字面解释,而不是全局。您可以将for更改为:

 for app in "$dir"/Application/*/

当然你已经进入了目录,所以

for app in */

可能就是你想做的事情

答案 1 :(得分:0)

我所有关于使用你手头的众多(和令人敬畏的)实用程序来做这类事情。你可以使用像

这样的东西
LENGTH=`echo $app | wc -c`
if [[ $LENGTH -eq 36 ]]; then
  # do the thing
fi

注意:这里的魔力是使用后退滴答和wc(wordcount)实用程序。当你正在查看wc的手册页时,checkout tr也是(只是部分相关,但另一个很好的工具)。