Skip to content

Commit

Permalink
Pass rmdir' options to mkdir'. Improve `quote'. [gh-1]
Browse files Browse the repository at this point in the history
  • Loading branch information
Wei Dai committed Jul 13, 2012
1 parent 932f780 commit ea37c09
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
7 changes: 4 additions & 3 deletions test
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,10 @@ EOS
test_rmdir() {
cd "$SHUNIT_TMPDIR"
assertIsReverse <<EOS
rmdir dir -> mkdir dir
rmdir "d i r" -> mkdir d\\ i\\ r
rmdir a b c -> mkdir a b c
rmdir dir -> mkdir dir
rmdir "d i r" -> mkdir d\\ i\\ r
rmdir a b c -> mkdir a b c
rmdir -p dir/a/b -> mkdir -p dir/a/b
EOS
}

Expand Down
13 changes: 9 additions & 4 deletions undo
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,15 @@ command="$1" && shift
# Helpers
# =======

# Shell quote an argument.
# Synopsis: quote argument
# Shell quote arguments.
# Synopsis: quote argument...
quote() {
printf '%s\n' "$1" | sed 's/\([|&;<>()$`\\"'"'"' *?#~=%\[]\)/\\\1/g'
while [ "$1" ]; do
printf %s "$1" | sed 's/\([|&;<>()$`\\"'"'"' *?#~=%\[]\)/\\\1/g'
[ "$2" ] && printf ' '
shift
done
printf '\n'
}

# Print messages to STDERR and exit with given exit code.
Expand Down Expand Up @@ -165,7 +170,7 @@ cmd mkdir && \

cmd rmdir && \
reverse_cmd() {
format_args 'mkdir %s' -- "$@"
printf %s "mkdir $(quote "$@")"
}

cmd tar && \
Expand Down

0 comments on commit ea37c09

Please sign in to comment.