Сценарий оболочки для копирования списка файлов с пробелами [дубликат]

Поместите файл .htaccess в папку public_html с приведенным ниже кодом:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Затем попробуйте получить доступ к своему URL-адресу

1
04.07.2017, 21:12
2 ответа

Используйте цикл whileс read, а не for:

.
while read -r file ; do
    cp "$file" temp
done < test.txt
3
27.01.2020, 23:18

Оставляя`...`(или его более новую форму$(...))без кавычек, оператор split+glob.

Часть разделения выполняется для символов $IFS, по умолчанию SPC, TAB и новой строки. Здесь вы хотите разделить только новую строку и не хотите использовать часть glob. Вот так:

IFS='
' # split on newline only. IFS=$'\n' also works in some shells
set -o noglob # disable the glob part
cp -- $(cat test.txt) temp/

С помощью zsh, который имеет явный оператор расщепления, его можно упростить до:

cp -- ${(f)"$(cat test.txt)"} temp/

С помощью инструментов GNU вы также можете:

xargs -d '\n' -ra test.txt cp -t temp

(который также поможет обойти ограничение на размер аргументов в случае большого количества копируемых файлов ).

1
27.01.2020, 23:18

Теги

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