Dirname - Dirname

dirname
Пример команды dirname
Пример dirname команда
Разработчики)Разные Открытый исходный код и коммерческий Разработчики
Операционная системаUnix, Unix-подобный, IBM i
ТипКоманда
Лицензияcoreutils: GPLv3 +

dirname это стандарт компьютерная программа на Unix и Unix-подобный операционные системы. Когда dirname дается путь, он удалит любой суффикс, начинающийся с последней косой черты ('/') и верните результат. dirname описывается в Единая спецификация UNIX и в основном используется в сценарии оболочки.

История

Версия dirname в комплекте GNU coreutils был написан Дэвидом Маккензи и Джимом Майерингом.[1]

В dirname команда также была перенесена в IBM i Операционная система.[2]

Применение

В Единая спецификация UNIX за dirname является:

строка dirname
нить
А путь

Примеры

dirname будет извлекать имя пути к каталогу из имени пути, игнорируя любые завершающие косые черты

$ имя каталога /home/martin/docs/base.wiki/ home / martin / docs$ dirname / home / martin / docs /./ home / martin / docs$ dirname / home / martin / docs // home / martin$ dirname base.wiki.$ dirname //

Спектакль

С dirname принимает только один операнд, его использование в внутренний цикл сценариев оболочки может отрицательно сказаться на производительности. Учитывать

 пока читать файл; делать     dirname "$ файл" сделано <какой-то ввод

Приведенный выше отрывок вызовет отдельный вызов процесса для каждой строки ввода. По этой причине вместо оболочки обычно используется

 эхо "${файл%/*}";

или если также необходимо обрабатывать относительные пути

 если [ -n "${файл##*/*}" ]; тогда     эхо "." еще     эхо "${файл%/*}"; фи

Обратите внимание, что они обрабатывают завершающие косые черты иначе, чем dirname.

Заблуждения

Мы можем подумать, что пути, заканчивающиеся косой чертой, являются каталогами. Но на самом деле косая черта в конце представляет все файлы в каталоге.

/ главная / мартин / документы /.

Правильный способ представления пути в виде каталога - использовать косую черту в конце и точку.[согласно кому? ][нужна цитата ]

Смотрите также

Рекомендации

  1. ^ https://linux.die.net/man/1/dirname
  2. ^ IBM. "Qshell для программирования IBM System i версии 7.2" (PDF). Получено 2020-09-05.

внешняя ссылка