базовое имя с пробелами в сценарии bash?

Я работаю над сценарием bash, чтобы создать новую папку в / tmp /, используя имя файла, а затем скопировать файл в эту папку.

#!/bin/bash

MYBASENAME="`basename $1`"
mkdir "/tmp/$MYBASENAME"

for ARG in "$@"
    do
        mv "$ARG" "/tmp/$MYBASENAME"

done

Поведение:

Когда я набираю mymove "/ home / me / downloads / my new file.zip" , он показывает следующее:

mkdir /tmp/my
new
file.zip
mv: rename /home/me/downloads/my new file.zip to /tmp/my\nnew\nfile.zip:

У меня много цитат вокруг всего, поэтому я не Я не понимаю, почему это не работает так, как ожидалось.

Кроме того, у меня есть цикл формы на случай, если есть несколько файлов. Я хочу, чтобы все они были скопированы в одну папку на основе базового имени первого аргумента.

19
задан cwd 25 August 2011 в 16:48
поделиться