我试图使用在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)然后删除文件夹
答案 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也是(只是部分相关,但另一个很好的工具)。