我想写一个shellcript,它将循环遍历文件夹中的所有文件并回显"put $ {filename}".谁能指出我正确的方向?
Oli*_*rth 30
对于文件和目录,不是递归的
for filename in *; do echo "put ${filename}"; done
仅适用于文件(不包括文件夹),不适用于递归
for file in *; do 
    if [ -f "$file" ]; then 
        echo "$file" 
    fi 
done
对于递归解决方案,请参阅Bennet Yee的回答.
小智 6
递归地,包括子目录中的文件?
find dir -type f -exec echo "put {}" \;
只有该目录中的文件?
find dir -maxdepth 1 -type f -exec echo "put {}" \;
对于当前目录中的所有文件夹和文件
for file in *; do
    echo "put $file"
done
或者,如果您只想包含子目录和文件:
find . -type f -exec echo put {} \;
如果要包含文件夹本身,请取出该-type f部件.