Почему оболочки реализуют свои собственные команды «echo» внутри себя? [дубликат]

Когда в архиве tar есть запись для ./ , она используется для записи прав собственности и разрешений. текущего каталога. Таким образом, когда вы распаковываете его, права собственности и разрешения текущего каталога могут измениться.

При этом указанная вами команда не должна приводить к созданию архива tar с участником ./ . Возможно, что FileRoller неявно удаляет каталог верхнего уровня.

2
05.12.2016, 17:22
1 ответ

Фактор скорости - одна из причин. Это особенно важно для команд, которые часто используются без каких-либо аргументов файла, таких как echo , test , printf и т. Д. Таким образом, они могут выполняться без какого-либо доступа к файлу. , ни чтение аргументов файла, ни самой команды.

Другие команды, такие как kill , также выигрывают от поддержки синтаксиса управления заданиями оболочки, например kill% 1 .

Некоторые оболочки даже реализуют другие команды «более высокого уровня», такие как mv в zsh , для добавления таких функций, как простое переименование шаблона в стиле оболочки.

2
27.01.2020, 22:10

Теги

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