Tôi có một kịch bản bash trông giống như sau:bash lặp qua tất cả tìm đệ quy trong thư mục con
#!/bin/bash
FILES=public_html/*.php # */ stupid syntax highlighter!
for f in $FILES
do
echo "Processing $f file..."
# take action on each file.
done
Bây giờ tôi cần nó để đi qua tất cả các thư mục con trong public_html
vì vậy nó phải chạy trên:
/public_html/index.php
/public_html/forums/status.php
/public_html/really/deep/file/in/many/sub/dirs/here.php
Tôi phải làm gì để thay đổi FILES=public_html/*.php
để làm điều đó?
Ngoài ra tôi cần phải kiểm tra để đảm bảo rằng có ít nhất một tệp hoặc nếu không nó sẽ in
Processing *.php file...
Nó chỉ trả lại kết quả từ pwd. – qwertymk
Tôi không nghĩ vậy. (Bạn có sử dụng tìm GNU không?) 'Mkdir -p public_html/{a, b, c}; chạm vào public_html/{a, b, c}/{1,2,3} .php; tìm public_html -type f -name * .php' trả về tất cả 9 tệp. – sgibb
Điều này làm việc 'FILES =" $ (tìm public_html -type f -name '* .php') "' – qwertymk