Список всей иерархии родительских каталогов

Эквивалентное имя пакета в Fedora — php-pecl-ssh2. Это соответствует обычному соглашению об именах для пакетов из PECL, то есть php-pecl-<package name>.

# dnf info php-pecl-ssh2
Last metadata expiration check: 1:59:21 ago on Sat 21 Jul 2018 10:40:54 AM CDT.
Available Packages
Name         : php-pecl-ssh2
Version      : 1.1.2
Release      : 3.fc28
Arch         : x86_64
Size         : 51 k
Source       : php-pecl-ssh2-1.1.2-3.fc28.src.rpm
Repo         : fedora
Summary      : Bindings for the libssh2 library
URL          : http://pecl.php.net/package/ssh2
License      : PHP
Description  : Bindings to the libssh2 library which provide access to resources
             : (shell, remote exec, tunneling, file transfer) on a remote
             : machine using a secure cryptographic transport.
             : 
             : Documentation: http://php.net/ssh2
1
12.08.2020, 23:09
1 ответ

Используйте цикл, начиная с $PWDи удаляя один уровень каталога за раз. Вам просто нужно быть осторожным с окончанием на /. Также посчитайте линии (или проведите черезnl). Вот функция, которая работает как в bash, так и в zsh.

function pwd_and_parents {
  local d n
  d=$PWD
  n=0
  while [[ $d = *[!/]* ]]; do
    printf '%d %s\n' "$n" "$d"
    d=${d%/*}
    ((++n))
  done
  echo "$n /"
}

В моей версии косая черта не ставится в конце. Добавьте их, если хотите.

1
18.03.2021, 23:13

Теги

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