Другой способ: вы можете определить его как функцию в вашем .bashrc
:
lsl() {
{ echo Permissions links Owner Group Size Last_modMonth Last_modTime Last_modTime Filename;
ls -l; } |
column -t |
awk 'NR!~/^(2)$/'
ls -l | head -1
}
Если вы должны сделать это как псевдоним:
alias lsl='{ echo Permissions links Owner Group Size Last_modMonth Last_modTime Last_modTime Filename; ls -l ; } | column -t | awk '\''NR!~/^(2)$/'\'';ls -l | head -1'
Нам нужно экранировать внутренние одинарные кавычки с помощью обратных косых черт, чтобы они не интерпретировались как остановка строки.
Если вместо этого использовать двойные кавычки, то !
интерпретируется как расширение истории и требует еще большего экранирования, что, вероятно, является самой запутанной проблемой, с которой вы столкнулись (что-то вроде " bash:! ~ / ^: Событие не найдено
», что является непонятной тарабарщиной).
Вышеупомянутое будет работать, но лучше было бы просто поместить этот файл где-нибудь на своем пути и сделать его исполняемым. Создайте, скажем, ~ / .local / bin
и скрипт lsl
с точным содержанием вашего сообщения внутри, затем chmod + x ~ / .local / bin / lsl
и добавьте строку в свой .bashrc
:
export PATH="$HOME/.local/bin:$PATH"
, чтобы убедиться, что исполняемые файлы в этом каталоге будут найдены. Затем вы можете просто написать lsl
где угодно, чтобы запустить код. Этот подход более удобен в обслуживании и проще для понимания.