LINUX.ORG.RU

Пути окружения

 , , , ,


1

2

Почему у линуксоидов не стало модным перемещаться по директориям, используя (по типу $PATH — путевые) переменные программ от GUI до CLI.

Ничего запоминать не нужно, нужно лишь иметь индексатор «$PATH» переменных и доступ к одной единственной директории, которую можно хоть на рабочий стол ярлыком добавить; по ней искать нужные пути, пиша по памяти ключевые слова и из результатов поиска выбирать нужное расположение (путь) до файла.

Особенно бы так файловые менеджеры показывали всегда, если перешёл по какому-то «$PATH», то и видишь его сначала в адресной строке, по нажатии на путь видишь его полностью.



Последнее исправление: temak (всего исправлений: 3)

$PATH - это не переменные, это переменная (одна). В ней записан список путей для поиска бинарника, когда ты его вводишь в командной строке по имени без пути.

А ты написал какие-то странные штуки.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Как мне так написать, чтоб вы поняли разницу между a и the?

Речь о не конкретной переменной, а о переменных в общем, поэтому абстрактное «$PATH», могло быть и $PROFILE — путь до профиля, если приводить примеры.

temak
() автор топика
Ответ на: комментарий от temak

$PATH это $PATH, не надо было вообще её упоминать если ты не конкретно про неё пишешь. Вероятно, ты пишешь про переменные окружения вообще - так и написал бы, без примеров не к месту, или, максимум, в скобках бы: "(такие как $PATH или $QWERTY)". Но всё равно непонятно что ты хочешь.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от temak

Как то так надо написать, чтобы мы поняли...

Если на второй взгляд то выходит некое сферическо-вакуумное переписывание софта не под работу со стандартными путями, а под обязательную передачу их всех при запуске. Можно конечно, но нафейхоа? Куча софта умеет так работать если разработчик решил что надо. А для остальных будут грабли на ровном месте.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)

Есть locate <имя файла>, в гноме есть поиск как ты хочешь, документы проиндексированы - пишешь имя, открываешь. Но это неудобно. Поиск по словам и фильтрация мусора который попал в выдачу это сложнее, чем однозначно выбрать файл в точно известном пути.

masa ★★★
()

Самая правильная тактика окружения, это обходить с флангов, зажимая в клещи, затем мощный удар с тыла. Противник деморализован и повержен!

anonymous
()

Я просто использую возможности bash в плане всевозможных преобразований: скобочных, ~ и т.д. Например, cd без аргументов переходит в домашний каталог, cd ~/works раскрывается в cd /home/yars068/works, и т.д. Едва ли для кого-то это новость.

P.S. Пример выше с $PATH, как уже сказали, некорректен, потому что это список путей, разделённых двоеточиями; поиск команды для исполнения осуществляется как описано в bash(1) и hash(1p).

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 2)
Ответ на: комментарий от yars068

Едва ли для кого-то это новость

У меня есть fish и pwsh. В fish так не работает. А, не, я подумал у тебя автокомплит на подпапки, дескать, а это домашняя лишь.

Тогда уж действительно, кроме как богомерзкий bash продвигать, делать больше нечего.

temak
() автор топика
Последнее исправление: temak (всего исправлений: 1)
Ответ на: комментарий от temak

Если честно я не понимаю зачем это нужно, тем более в ФМ. И в pwsh и fish есть автодополнение и предикторы, которые прекрасно работают. В pwsh, для сокращения путей, можно сделать диски, тем более, что и корневой каталог сам по себе диск:

$ Get-PSDrive | ? { $_.Provider.Name -eq "FileSystem" }

Name           Used (GB)     Free (GB) Provider      Root   
----           ---------     --------- --------      ----   
/                  18,38        215,00 FileSystem    /      
Temp                0,00          3,82 FileSystem    /tmp/  
$ New-PSDrive -Name Icons -PSProvider FileSystem -Root /usr/share/icons

Name           Used (GB)     Free (GB) Provider      Root                   
----           ---------     --------- --------      ----                   
Icons              18,38        215,00 FileSystem    /usr/share/icons       

$ pushd Icons:
$ dir

    Directory: /usr/share/icons

UnixMode     Num   UID   GID      LastWriteTime    Size Name
--------     ---   ---   ---      -------------    ---- ----
drwxr-xr-x   755     0     0   22.09.2025 21:49         Adwaita
drwxr-xr-x   755     0     0   13.04.2025 13:09         AdwaitaLegacy
drwxr-xr-x   755     0     0   13.04.2025 11:43         breeze
drwxr-xr-x   755     0     0   13.04.2025 11:43         breeze-dark
drwxr-xr-x   755     0     0   04.04.2025 08:08         default
drwxr-xr-x   755     0     0   06.12.2025 10:15         elementary
drwxr-xr-x   755     0     0   10.03.2026 21:14         hicolor
drwxr-xr-x   755     0     0   11.11.2025 11:07         HighContrast

dmitry237 ★★★★★
()
Ответ на: комментарий от temak

Путь до стима (в идеале бы не просто иметь индекс, а ещё действительно перемещаться по нему, например: pathi пути из индекса добавляет в /etc/environment как пользовательские переменные среды, так в терминале и в Dolphin можно будет вводить $STEAM)

.venv ❯ pathi alias add STEAM /home/temak/.local/share/Steam
Added alias STEAM -> /home/temak/.local/share/Steam

.venv ❯ pathi search steam --rebuild
 1  STEAM                /home/temak/.local/share/Steam

Путь до значков (это ещё если постарому, а если по стандарту freedesktop, в подпапке?)

.venv ❯ pathi alias add ICONS /home/temak/.icons/
Added alias ICONS -> /home/temak/.icons

.venv ❯ pathi search icon --rebuild
 1  ICONS                /home/temak/.icons

Путь до телеги (на случай, если мне надо перенести целиком тг профиль на новую систему)

.venv ❯ pathi alias add TELEGA /home/temak/.local/share/TelegramDesktop/
Added alias TELEGA -> /home/temak/.local/share/TelegramDesktop

.venv ❯ pathi search tele --rebuild
 1  TELEGA               /home/temak/.local/share/TelegramDesktop

Немного от описания ветки отошёл, но задумку, надеюсь, передал.

temak
() автор топика
Последнее исправление: temak (всего исправлений: 1)

можно задать переменную — CDPATH

CDPATH — Путь поиска для команды cd. Это список каталогов через двоеточие, в которых командный интерпретатор ищет целевые каталоги, указанные по имени в команде cd. Пример возможного значения - ".:~:/usr".

CDPATH=".:~:~/git:~/data/video:/srv/project/"

затем просто делать: vasa@localhost~$ cd video

bash

anonymous
()
Ответ на: комментарий от anonymous

Мне концепт переменных нравится, а их реализация не особо. Dolphin в адресной строке после $ все переменные выводит, даже те какие не пути вовсе. Остальные файловые менеджеры, наверно, вообще не умеют, хоть даже так.

temak
() автор топика