Created SC2143 (markdown)

koalaman
2014-05-17 10:55:32 -07:00
parent 00d92c45c8
commit 1c8870ece4

24
SC2143.md Normal file

@@ -0,0 +1,24 @@
## Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
### Problematic code:
if [ "$(find . | grep 'IMG[0-9]')" ]
then
echo "Images found"
fi
### Correct code:
if find . | grep -q 'IMG[0-9]'
then
echo "Images found"
fi
### Rationale:
The problematic code has to iterate the entire directory and read all matching lines into memory before making a decision.
The correct code is cleaner and stops at the first matching line, avoiding both iterating the rest of the directory and reading data into memory.
### Contraindications
None.