From 764c21426f88e2043b8c76dfb9e94fea0e88f662 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sat, 18 Apr 2020 09:54:05 +0300 Subject: [PATCH] kiss: Make 'kiss s' usage saner for scripting. Changes 'kiss s' to only show the first match if run from a subshell. Here's a simple example: -> kiss s zlib /home/dylan/projects/repo/core/zlib /var/db/kiss/installed/zlib -> echo $(kiss s zlib) /home/dylan/projects/repo/core/zlib -> --- kiss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kiss b/kiss index ed7fbf0..c030510 100755 --- a/kiss +++ b/kiss @@ -115,7 +115,7 @@ pkg_find() { # Figure out which repository a package belongs to by # searching for directories matching the package name # in $KISS_PATH/*. - query=$1 match=$2 IFS=:; set -- + query=$1 IFS=:; set -- # Both counts of word-splitting are intentional here. # Firstly to split the repositories and secondly to @@ -137,7 +137,7 @@ pkg_find() { # Show all search results if called from 'kiss search', else # print only the first match. - [ "$match" ] && printf '%s\n' "$@" || printf '%s\n' "$1" + [ -t 1 ] && printf '%s\n' "$@" || printf '%s\n' "$1" } pkg_list() { @@ -1268,7 +1268,7 @@ args() { l|list) pkg_list "$@" ;; u|update) pkg_updates ;; - s|search) for pkg do pkg_find "$pkg" all; done ;; + s|search) for pkg do pkg_find "$pkg"; done ;; v|version) log kiss 1.10.3 ;; h|help|-h|--help|'')