【发布时间】:2022-08-15 13:28:26
【问题描述】:
我想列出项目目录中的所有 xcworkspace 和 xcodeproj 文件。
我在下面写代码
#!/bin/bash
workspaceFile=\"xcworkspace\"
projectFile=\"xcodeproj\"
#listFiles
path=$(pwd)
fileList=()
walk_dir () {
for name in \"$path\"/*; do
if [[ -d \"$name\" && (\"${name##*.}\" != ${projectFile} || \"${name##*.}\" != ${workspaceFile}) ]]; then
path=$name
walk_dir \"$name\"
else
if [ \"${name##*.}\"x = ${workspaceFile}x ] || [ \"${name##*.}\"x = ${projectFile}x ];then
fileList+=($name)
fi
fi
done
}
walk_dir
for name in ${fileList[@]}; do
echo $name
done
那没起效。
但是如果改变条件,如下所示
if [[ -d \"$name\" && (\"${name##*.}\" != ${workspaceFile}) ]]; then
path=$name
walk_dir \"$name\"
else
if [ \"${name##*.}\"x = ${workspaceFile}x ] || [ \"${name##*.}\"x = ${projectFile}x ];then
fileList+=($name)
fi
fi
或者
if [[ -d \"$name\" && (\"${name##*.}\" != ${projectFile}) ]]; then
path=$name
walk_dir \"$name\"
else
if [ \"${name##*.}\"x = ${workspaceFile}x ] || [ \"${name##*.}\"x = ${projectFile}x ];then
fileList+=($name)
fi
fi
它也有效。
我想保留过滤器 xcworkspace 和 xcodeproj。
有人可以帮助我吗?
-
find . -type f \\( -name \"xcworkspace\" -o -name \"xcodeproj\" \\)可能是一个选项。 -
Xcode 不是只适用于 MacOS 吗?你如何在 Linux 上使用它?
标签: xcode bash macos shell unix