2016-05-21 2 views
0

Пусть файлы = «apartment.flat моего apartment1.flat»Bash - кошачьи несколько файлы с пробелами в названии

Я хочу кошку этих файлов с помощью кошки $ файлов

Проблемы в том, поисках кошки для квартиры .flat, my and apartmrnt1.flat

Что мне нужно сделать, чтобы избежать этих пространств?

Я попытался файлы = "apartment.flat" мой apartment1.flat" и файлы = "apartment.flat моего \ apartment1.flat" Ничто не работает ...

благодарственного!

+0

См. [Edit-help] (http://stackoverflow.com/editing-help). – Cyrus

+1

Прочитайте запись [BashFAQ по аргументам] (http://mywiki.wooledge.org/Arguments) (а затем следуйте предложению Chepner). –

ответ

3

Вы должны использовать массив:

files=(apartment.flat "my apartment1.flat") 
cat "${files[@]}" 
-2

вам просто нужно положить файлы $ в кавычках, должен помочь вам

файлов = "apartment.flat моего apartment1.flat"

cat "$ files"

Это сработало для меня

$ files="apartment.flat my apartment1.flat" 
$ echo $files 
apartment.flat my apartment1.flat 

$ cat "$files" 
hi how are you.. 
+0

Bash все равно передаст три аргумента 'cat': * apartment.flat *, * my * и * apartment1.flat * –