Further ll fixes for escaped spaces and quotes!

This commit is contained in:
Nathan Broadbent
2012-10-23 23:34:15 +13:00
parent c20b91442a
commit 436b0da138
3 changed files with 14 additions and 10 deletions

View File

@@ -154,13 +154,11 @@ EOF
else
ll_files="$(\ls "$@")"
fi
# Escape single and double quotes
ll_files=$(echo "$ll_files" | \sed -e 's/"/\\\\\\"/g' -e "s/'"'/\\\\'"'/g")
OLDIFS="$IFS"; IFS=$'\n'
for file in $ll_files; do
if [ -n "$rel_path" ]; then file="$rel_path/$file"; fi
export $git_env_char$e="$(eval $_abs_path_command \"$file\")"
export $git_env_char$e="$(eval $_abs_path_command \"${file//\"/\\\"}\")"
if [ "${scmbDebug:-}" = "true" ]; then echo "Set \$$git_env_char$e => $file"; fi
let e++
done

View File

@@ -138,7 +138,7 @@ scmb_expand_args() {
# Execute a command with expanded args, e.g. Delete files 6 to 12: $ ge rm 6-12
# Fails if command is a number or range (probably not worth fixing)
exec_scmb_expand_args() { eval "$(scmb_expand_args "$@" | sed -e 's/\([][()<>^ ]\)/\\\1/g')"; }
exec_scmb_expand_args() { eval "$(scmb_expand_args "$@" | sed -e "s/\([][()<>^ \"']\)/"'\\\1/g')"; }
# Clear numbered env variables
git_clear_vars() {