我有一个类似于以下内容的bash脚本:
#!/bin/bash
FILES=public_html/*.php # */ stupid syntax highlighter!
for f in $FILES
do
echo "Processing $f file..."
# take action on each file.
done
现在我需要它来浏览public_html
中的所有子目录,以便它可以运行:
/public_html/index.php
/public_html/forums/status.php
/public_html/really/deep/file/in/many/sub/dirs/here.php
为了做到这一点,我应该将FILES=public_html/*.php
更改为什么?
此外,我需要检查以确保至少有一个文件或打印
Processing *.php file...
答案 0 :(得分:28)
FILES=$(find public_html -type f -name '*.php')
重要提示:请注意*.php
周围的单引号,以防止*
的shell扩展。
答案 1 :(得分:1)
FILES=`find public_html -type d`
$ FILES现在将是public_html中每个目录的列表。