From 9e103df45e4ca2c2392cedf3c9ecb84713962838 Mon Sep 17 00:00:00 2001 From: John Reiser Date: Fri, 23 Sep 2011 08:02:23 -0700 Subject: [PATCH] dracut [PATCH] Parameter expansion occurs before command evaluation. Bash shell expands all ${parameter} before evaluating a command. For multiple declarations and assignments within the same 'local' command, then new variables or new values that appear towards the left do not affect parameter expansion towards the right. -- John Reiser, jreiser@BitWagon.com >From 507ad6f66fc66f868a9e5fdd3806e012c4022baa Mon Sep 17 00:00:00 2001 From: John Reiser Date: Fri, 23 Sep 2011 07:37:43 -0700 Subject: [PATCH] Parameter expansion occurs before command evaluation. ${parameter} on the right is expanded before evaluating "local var=value" on the left. --- dracut-functions | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dracut-functions b/dracut-functions index 5508809..c4f7f61 100755 --- a/dracut-functions +++ b/dracut-functions @@ -272,7 +272,7 @@ check_vol_slaves() { inst_dir() { [[ -e ${initdir}"$1" ]] && return 0 # already there - local _dir="$1" _part=${_dir%/*} _file + local _dir="$1" _part="${1%/*}" _file while [[ "$_part" != "${_part%/*}" ]] && ! [[ -e "${initdir}${_part}" ]]; do _dir="$_part $_dir" _part=${_part%/*}