赞成伙伴, 在bash中构建“查找”命令 目前在传递目录时它有效但如果没有传递,则运行“find”默认为“find ./"
我的代码出现的情况是我的递归函数(在其文件树中添加所有项的函数)与使用$ @的 有没有办法添加命令行参数,所以我保持代码相同
要么
如何创建一个包含$ @的变量,以便我可以在上面的for循环中使用它
如果我检测到$#== 0 recurse(){
oldIFS=$IFS
IFS=$'\n'
for f in $@
do
list="`echo -e "$list\n$PWD/${f}"`"
if [[ -d "${f}" ]]
then
cd "${f}"
recurse $(ls -1 ".")
cd ..
fi
done
IFS=$oldIFS
}
答案 0 :(得分:1)
使用数组匹配$@
中的数组。
args=("$@")
if (( ${#args[@]} == 0 ))
then
args=(./)
fi
for f in "${args[@]}"
do
...
done