Кэшируют ли рекурсивные команды, такие как mv, список файлов?

Не уверен насчет части xterm, однако при попытке запустить несколько команд мне удалось сделать следующее:

pssh -i -h ectsrv -A -O StrictHostKeyChecking=no "sudo cmd1; cmd2"
0
29.07.2016, 01:55
1 ответ

Кэширование отсутствует, потому что команда mv даже не видит подстановочный знак.

Что происходит, так это то, что командная строка расширяет подстановочный знак и передает расширенный список в mv

Итак, если бы у вас были foo / 1 'и foo / 2 и foo / 3`, затем запуск

mv foo/* bar/

будет расширяться, а фактически запускается

mv foo/1 foo/2 foo/3 bar/

Как только оболочка завершит расширение и начнет выполнение команды mv , тогда любые изменения в каталоге foo (например, добавляется foo / 4 ) не будут частью команды и поэтому будут оставлены.

Этот процесс известен как подстановка .

4
28.01.2020, 02:19

Теги

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