mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 19:29:44 +08:00
Add "find | while" syntax
12
SC2044.md
12
SC2044.md
@@ -30,6 +30,18 @@ done < <(find mydir -mtime -7 -name '*.mp3' -print0)
|
|||||||
echo "Played $count files"
|
echo "Played $count files"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> Equivalently:
|
||||||
|
>
|
||||||
|
> ```sh
|
||||||
|
> find mydir -mtime -7 -name '*.mp3' -print0 | while IFS= read -r -d '' file
|
||||||
|
> do
|
||||||
|
> let count++
|
||||||
|
> echo "Playing file no. $count"
|
||||||
|
> play "$file"
|
||||||
|
> done
|
||||||
|
> echo "Played $count files"
|
||||||
|
> ```
|
||||||
|
|
||||||
In usage it's very similar to the `for` loop: it gets its output from a `find` statement, it executes a shell script body, it allows updating/aggregating variables, and the variables are available when the loop ends.
|
In usage it's very similar to the `for` loop: it gets its output from a `find` statement, it executes a shell script body, it allows updating/aggregating variables, and the variables are available when the loop ends.
|
||||||
|
|
||||||
It requires Bash, and works with GNU, Busybox, OS X, FreeBSD and OpenBSD find, but not POSIX find.
|
It requires Bash, and works with GNU, Busybox, OS X, FreeBSD and OpenBSD find, but not POSIX find.
|
||||||
|
Reference in New Issue
Block a user