The read shell builtin is the proper way to read single lines. Also,
simplify grep(1) and awk(1) invocations and use a single awk(1)
expression, that supports extracting file names with spaces, instead.

Signed-off-by: Lukas Fleischer <[email protected]>
---
 checkpkg |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/checkpkg b/checkpkg
index f408267..2f442c9 100755
--- a/checkpkg
+++ b/checkpkg
@@ -81,7 +81,7 @@ for _pkgname in "${pkgname[@]}"; do
                mkdir -p pkg
                cd pkg
                bsdtar xf ../"$pkgfile" > /dev/null
-               for i in $(diff "../filelist-$_pkgname-old" 
"../filelist-$_pkgname" | grep \> | grep '\.so' | awk '{print $2}'); do
+               diff "../filelist-$_pkgname-old" "../filelist-$_pkgname" | awk 
'/>.*\.so/{$1 = ""; print $0}' | while read i; do
                        echo "${i}: " "$(objdump -p "$i" | grep SONAME)"
                done
                cd ..
-- 
1.7.6

Reply via email to