Я пытаюсь использовать псевдоним zsh, чтобы моя команда ls
распечатала мои файлы в более хорошем формате, используя printf
. В моем .zshrc
файле У меня есть эта строка:ZSH alias printf
alias lsp="printf '|%15s |%15s |%15s |\n' $(ls)"
По какой-то причине, когда я вхожу «ЛСП» в командной строке я получаю: zsh: command not found: lsp
Я пытаюсь выяснить, почему мой псевдоним не например, прямо выше, у меня есть тот, который работает с использованием: alias la="ls -la"
, когда я набираю la
, он выдает правильную команду.
Я угадываю что-то с моими кавычками, у кого-нибудь есть идея?
Вы можете - и, вероятно, должны - использовать подстановку вместо того, чтобы использовать выход команды ls: 'псевдоним LSP = "Printf '|% 15s |% 15s |% 15s | \ п' *"'. Кроме того, не нужно запускать внешнюю команду, она имеет то преимущество, что работает с именами файлов, которые содержат пробелы. Вывод 'ls' предназначен для потребления человеком, и его трудно правильно разобрать для нетривиальных случаев. Для машинного использования используйте 'find' или используйте многие функции, которые zsh' может предложить в отношении globbing. – Adaephon