下面的简短bash脚本列出了给定目录及其子目录中的所有文件和目录.$1/*脚本中的含义是什么?请给我一些关于它的参考.谢谢
#!/bin/sh
list_alldir(){
for file in $1/*
do
if [ -d $file ]; then
echo $file
list_alldir $file
else
echo $file
fi
done
}
if [ $# -gt 0 ]; then
list_alldir "$1"
else
list_alldir "."
fi
Run Code Online (Sandbox Code Playgroud)
zel*_*lio 18
它是被视为目录的第一个参数的glob
在bash脚本参数文件传递到脚本$0(这是脚本的名称),然后$1,$2,$3...要访问所有的人,你既可以使用自己的标签或使用该组的结构之一.对于组构造,有$*和$@.($*将所有参数视为一个块,并将其$@视为分隔$IFS)