Нуждаюсь в помощи улучшая сценарий

У меня есть группа папок (L1N-L5N), в котором я хочу скопировать от своего/home/michael/documents/XXX до моей папки Dropbox. В настоящее время я использовал следующий сценарий:

#!/bin/sh
cp -ra /home/michael/Documents/GeneralNetwork /GNI /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L1N /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L2N /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L3N /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L4N /home/michael/Dropbox/NetworkData
cp -ra /home/michael/Documents/GeneralNetwork /L5N /home/michael/Dropbox/NetworkData

Это работает, но плохо.

Я также не уверен в обосновании относительно того, почему оно возвращает это:

cp: cannot stat ‘/GNI’: No such file or directory
cp: cannot stat ‘/L1N’: No such file or directory
cp: cannot stat ‘/L2N’: No such file or directory
cp: cannot stat ‘/L3N’: No such file or directory
cp: cannot stat ‘/L4N’: No such file or directory
cp: cannot stat ‘/L5N’: No such file or directory

Я думал о сокращении его вниз:

cp -ra /home/michael/Documents/GeneralNetwork/L*

Или некоторый другой подстановочный знак к погрузке все папки, содержащие "L". То, что я хочу, должно скопировать файлы (и перезапись) к папке в этом каталоге, однако я не могу быть уверен, что они подпадут под вышеупомянутую Схему Имени папки.

С чего лучший способ состоит в том, чтобы создать .sh файл для копирования everythig.../GeneralNetwork /* не копируя скрытые файлы и т.д.? Я сделал../GeneralNetwork/. и это включало начальную загрузку, мусорное ведро, sys и т.д.

1
задан 6 October 2014 в 12:13

1 ответ

CP: не может статистика †˜/GNI’: Никакой такой файл или каталог

Поэтому пробела:

cp чтения это как это:

cp -ra /home/michael/Documents/GeneralNetwork /GNI

, Что папка: /home/michael/Documents/GeneralNetwork потребности, которые будут скопированы в /GNI. Но нет никакой папки в /GNI, поэтому ошибка.

<час>

, Если существует пробел между файлами, помещает его между кавычками:

"/home/michael/Documents/GeneralNetwork /GNI"

cp видит:

/home/michael/Documents/GeneralNetwork

кавычки Скручивания жгутов, это будет читать вне пробела:

cp -ra "/home/michael/Documents/GeneralNetwork /GNI" /home/michael/Dropbox/NetworkData
<час>

На пользовательский запрос :

, Если я понимаю Вас правильно, Вы хотите скопировать /home/michael/Documents/GeneralNetwork

и все в нем. Да, который возможен, как так:

cp -ra "/home/michael/Documents/GeneralNetwork /*.*" /home/michael/Dropbox/NetworkData
2
ответ дан 11 November 2019 в 09:31

Другие вопросы по тегам:

Похожие вопросы: