From 149e61a6496725e72d34ad3513e60872e4adb273 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Wed, 28 Sep 2011 12:06:53 -0500 Subject: [PATCH] Don't exit out of piped loop Can cause the stdin of cat to close too soon causing: echo: write error: Broken pipe Fixes #97 --- libexec/rbenv-version-file-read | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libexec/rbenv-version-file-read b/libexec/rbenv-version-file-read index 8d27b0f0..9a3cd05b 100755 --- a/libexec/rbenv-version-file-read +++ b/libexec/rbenv-version-file-read @@ -7,13 +7,18 @@ VERSION_FILE="$1" if [ -e "$VERSION_FILE" ]; then # Read and print the first non-whitespace word from the specified # version file. + version="" while read -a words; do - version="${words[0]}" - if [ -n "$version" ]; then - echo "$version" - exit + word="${words[0]}" + if [ -z "$version" ] && [ -n "$word" ]; then + version="$word" fi done < <( cat "$VERSION_FILE" && echo ) + + if [ -n "$version" ]; then + echo "$version" + exit + fi fi exit 1