myStack: post #1355 — TG.ME

ZSH '=' expansion

Некоторые файлы в unix-like системах - это soft links на бинарники. Об этом говорит первая буква l выводе команды ls -l
 > ls -l /usr/bin/python
lrwxrwxrwx 1 root root 7 Jun 15 14:36 /usr/bin/python -> python3


Чтобы узнать на что ссылается ссылка нужно ввести полный путь к ней, как в примере выше, но так как путь не всегда известен, то его сперва нужно узнать так:
 > which python
/usr/bin/python


и только потом передать в ls -l, что неудобно. Можно это объединить в одну команду, что я и делал всегда:
 > ls -l $(which python)
lrwxrwxrwx 1 root root 7 Jun 15 14:36 /usr/bin/python -> python3

Но это тоже неудобно.

Сегодня узнал, что существует '=' expansion в zsh, что сильно всё упрощает:
 > ls -l =python        
lrwxrwxrwx 1 root root 7 Jun 15 14:36 /usr/bin/python -> python3


Ну или если есть алиас на ls -l:
 > ll =python
lrwxrwxrwx 1 root root 7 Jun 15 14:36 /usr/bin/python -> python3


https://zsh.sourceforge.io/Doc/Release/Expansion.html#g_t_0060_003d_0027-expansion-1
👍7❤3
July 26, 2026 861 1 3