X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fcore%2Ffunctions.sh;h=41533fa1eb5e267fec2bdfb7d27fb1306a8c62ad;hb=f572426ee59be801010c446e72e4c60e4768712a;hp=ed5d19193c1f6eb5c7ecde332161d109f7e1a4c1;hpb=d3f90950a4a837077724fbb990b90103202e2bf5;p=feisty_meow.git diff --git a/scripts/core/functions.sh b/scripts/core/functions.sh index ed5d1919..41533fa1 100644 --- a/scripts/core/functions.sh +++ b/scripts/core/functions.sh @@ -281,10 +281,12 @@ if [ -z "$skip_all" ]; then fi } - # switches from an X:/ form to an /X/path form. + # switches from an X:/ form to a /cygdrive/X/path form. this is only useful + # for the cygwin environment currently. function dos_to_unix_path() { # we always remove dos slashes in favor of forward slashes. - echo "$1" | sed -e 's/\\/\//g' | sed -e 's/\([a-zA-Z]\):\/\(.*\)/\/\1\/\2/' +#old: echo "$1" | sed -e 's/\\/\//g' | sed -e 's/\([a-zA-Z]\):\/\(.*\)/\/\1\/\2/' + echo "$1" | sed -e 's/\\/\//g' | sed -e 's/\([a-zA-Z]\):\/\(.*\)/\/cygdrive\/\1\/\2/' } # returns a successful value (0) if this system is debian or ubuntu. @@ -470,21 +472,28 @@ if [ -z "$skip_all" ]; then echo "failure to find a file or directory named '$arg'." continue fi + + # first we will capture the output of the character replacement operation for reporting. + # this is done first since some filenames can't be properly renamed in perl (e.g. if they + # have pipe characters apparently). + intermediate_name="$(bash "$FEISTY_MEOW_SCRIPTS/files/replace_spaces_with_underscores.sh" "$arg")" + if [ -z "$intermediate_name" ]; then + # make sure we report something, if there are no further name changes. + intermediate_name="'$arg'" + else + # now zap the first part of the name off (since original name isn't needed). + intermediate_name="$(echo $intermediate_name | sed -e 's/.*=> //')" + fi + # first we rename the file to be lower case. - perl $FEISTY_MEOW_SCRIPTS/files/renlower.pl "$arg" &>/dev/null - # oops, now the name is all lower-case. we need to make the - # same adjustment. - arg2="$(echo "$arg" | tr A-Z a-z)" - # we definitely wanted to adjust the case first, rather than doing all - # the wacky stuff this script does to the filename... we will capture - # the output of the replace operaton for reporting. - final_name="$(bash "$FEISTY_MEOW_SCRIPTS/files/replace_spaces_with_underscores.sh" "$arg2")" + actual_file="$(echo $intermediate_name | sed -e "s/'\([^']*\)'/\1/")" + final_name="$(perl $FEISTY_MEOW_SCRIPTS/files/renlower.pl "$actual_file")" if [ -z "$final_name" ]; then - # make sure we report something, if there are no further name changes. - final_name="$arg2" + final_name="$intermediate_name" + else + final_name="$(echo $final_name | sed -e 's/.*=> //')" fi - # now zap the intermediate part of the name off. - final_name="$(echo $final_name | sed -e 's/.*=> //')" + # printout the combined operation results. echo "'$arg' => $final_name" done @@ -516,21 +525,21 @@ return 0 # this is a new or modified definition. if the feisty meow codebase is # unloaded, then so are all the variables that were defined. # this function always exports the variables it defines. - function define_yeti_variable() - { -# if variable exists already, save old value for restore, -# otherwise save null value for restore, -# have to handle unsetting if there was no prior value of one -# we newly defined. -# add variable name to a list of feisty defined variables. - -#hmmm: first implem just sets it up and exports the variable. -# i.e., this method always exports. -export "${@}" - - -return 0 - } +# function define_yeti_variable() +# { +## if variable exists already, save old value for restore, +## otherwise save null value for restore, +## have to handle unsetting if there was no prior value of one +## we newly defined. +## add variable name to a list of feisty defined variables. +# +##hmmm: first implem just sets it up and exports the variable. +## i.e., this method always exports. +#export "${@}" +# +# +#return 0 +# } ##############