一尘不染

“ $ 1 / *中的文件”中的“ $ 1 / *”是什么意思

linux

下面的简短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

阅读 657

收藏
2020-06-07

共1个答案

一尘不染

这是第一个参数的位置,被视为目录

在bash脚本参数文件传递到脚本$0(这是脚本的名称),然后$1$2$3…要访问所有的人,你既可以使用自己的标签或使用该组的结构之一。对于组构造,有$*$@。($*将所有参数视为一个块,并$@以分隔$IFS

2020-06-07