From 55b52797467cc18187d02e534be4d8ee578bdda1 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Thu, 22 Feb 2007 11:09:49 +0000 Subject: Check that parent of target dir exists (and optionally force-create). --- savelocaltweaks | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/savelocaltweaks b/savelocaltweaks index b1fd355..657f768 100755 --- a/savelocaltweaks +++ b/savelocaltweaks @@ -24,12 +24,22 @@ includefile="/etc/local/localtweaks.include" excludefile="/etc/local/localtweaks.exclude" extensions=".orig .old" -if [ -n "$targetdir" ] && [ -e "$targetdir" ]; then - if [ "$force" = "yes" ]; then - rm -rf "$targetdir" - else - echo >&2 "Error: Target directory exists already." - exit 1 +if [ -n "$targetdir" ]; then + targetdirparent="$(dirname "$targetdir")" + if ! [ -d "$targetdirparent" ]; then + if [ "$force" = "yes" ]; then + mkdir -p "$targetdirparent" + else + echo >&2 "Error: Parent directory for target directory does not exist." + exit 1 + fi + elif [ -e "$targetdir" ]; then + if [ "$force" = "yes" ]; then + rm -rf "$targetdir" + else + echo >&2 "Error: Target directory already exists." + exit 1 + fi fi fi -- cgit v1.2.3