Cara menjalankan file yang ditemukan oleh find


1

Saya memiliki beberapa file yang dapat dieksekusi di bawah pohon direktori. Saya ingin menemukan mereka dan mengeksekusi mereka dengan cara yang paling sederhana. Saya sudah mencoba ini sejauh ini: find . -perm 0775 -type f | xargs exec Tapi exec bukan executable, ini adalah bash internal. Saya bisa membuat skrip pembungkus yang bisa terlihat seperti ini:

#!/bin/bash
# exec.sh
exec $1

Dan kemudian bisa lari. find . -perm 0775 -type f -exec ./exec.sh {} \; Tapi pasti ada cara yang lebih elegan dan lebih pendek untuk melakukannya.

Jawaban:


4

Lepaskan skripnya.

find . -perm 0775 -type f -exec '{}' ';'

berfungsi dengan baik!


0

xargstidak benar-benar cocok untuk melakukan ini; ini terutama dimaksudkan untuk menyediakan perintah tetap dengan argumen yang dibaca dari input standar.

Tetapi Anda dapat memanggil program secara langsung menggunakan loop shell sederhana:

find . -perm 0775 -type f | while read program; do
                                $program
                            done
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.