From ccad66749cfaa76bd4f908e15e61e9f9a6681395 Mon Sep 17 00:00:00 2001 From: fbt Date: Fri, 27 Jul 2018 20:43:04 +0300 Subject: [PATCH] what are the chances you actually need literal '%template' in cmd? Signed-off-by: fbt --- sx-open | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/sx-open b/sx-open index c0424b7..f7a32be 100755 --- a/sx-open +++ b/sx-open @@ -107,7 +107,7 @@ error() { handle_target() { declare -n result=$1 declare h cmd regex target_is_file target target_left cmd_is_template - target_is_file=0 + cmd_append_target=1 target=$2 target_left=$target @@ -127,16 +127,13 @@ handle_target() { fi while (( $# )); do - cmd=( $1 ); regex=$2 + cmd=$1 regex=$2 - for c in "${!cmd[@]}"; do - if [[ "${cmd[c]}" == '%target%' ]]; then - cmd_is_template=1 - cmd[c]="$target" - fi - done - - (( cmd_is_template )) || cmd+=( "$target" ) + if [[ $cmd == *'%target%'* ]]; then + cmd=( ${cmd//%target%/$target} ) + else + cmd+=( "$target" ) + fi if [[ "$target_left" =~ $regex ]]; then act "${cmd[@]}"; result=$?