添加参数bash
各位嘉宾:, 在bash中构建“find”命令 当前,当一个目录被传递时,它可以工作,但是如果它没有被传递,那么运行“find”默认为“find./” 我的代码中出现的情况是递归函数(一个在其文件树中添加所有项的func)与使用$@添加参数bash,bash,recursion,find,arguments,Bash,Recursion,Find,Arguments,各位嘉宾:, 在bash中构建“find”命令 当前,当一个目录被传递时,它可以工作,但是如果它没有被传递,那么运行“find”默认为“find./” 我的代码中出现的情况是递归函数(一个在其文件树中添加所有项的func)与使用$@ recurse(){ oldIFS=$IFS IFS=$'\n' for f in $@ do list="`echo -e "$list\n$PWD/${f}"`" if [
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
}
那么,有没有办法添加一个命令行参数,使代码保持不变
或
如何创建一个保存$@的变量,以便在上面的for循环中使用它
然后我可以将该变量设置为“/”,如果我检测到$#==0使用数组,以匹配
$@
中的数组
args=("$@")
if (( ${#args[@]} == 0 ))
then
args=(./)
fi
for f in "${args[@]}"
do
...
done