39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
|
From 9e103df45e4ca2c2392cedf3c9ecb84713962838 Mon Sep 17 00:00:00 2001
|
||
|
From: John Reiser <jreiser@bitwagon.com>
|
||
|
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 <jreiser@BitWagon.com>
|
||
|
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%/*}
|