1

Скажем, я хочу запустить программу или передать файлы по сети, используя scp, и я создаю экран и запускаю эти команды на экране, используя *, чтобы указать, что я хочу, чтобы команда применялась ко всем файлам в этой папке. Работает ли команда только с теми файлами, которые присутствовали в то время, когда она была выполнена, или она будет работать с файлами, которые я позже переместлю / скопирую в ту же папку после выполнения команды?

2 ответа2

5

Я предполагаю, что он создает сеанс экрана и запускает длительную команду, такую как scp или ftp, набор файлов в папке. Пока идет загрузка или загрузка, он добавляет дополнительные файлы в исходную папку / сервер.

Bash (оболочка, с которой вы, вероятно, запускаете свою команду) будет выполнять команду только для тех файлов, которые присутствуют во время выполнения команды, поскольку символ * рассматривается как шаблон и заменяется именами файлов, соответствующими этому шаблону. ,

Смотри man bash

Расширение пути

После разделения слов, если не установлена опция -f, bash сканирует каждое слово на наличие символов *,? И [. Если появляется один из этих символов, слово считается шаблоном и заменяется отсортированным по алфавиту списком имен файлов, соответствующих шаблону.

3

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .