TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #371 11.6K
Алиасы штука удобная, со временем они становятся зоной комфорта, экономят время, особенно на локальной машине. Но как использовать готовые алиасы в своих bash скриптах?

Сегодня про это и поговорим. Смотри, есть у тебя алиас в .bashrc:

alias glist="ls -la"


Тут понятно, вводим glist а оно по умолчанию интерпретируется как ls -la. А теперь напишем простой bash скрипт:

#!/bin/bash

alias
echo "hello bashdays"
glist


И вот незадача. Получаем ошибку: glist: command not found

Ну оно и ежу понятно. Алиасы тут никаким боком к скрипту не привязаны.

Команда alias по идее должна была вывести все алиасы, которые прописаны, но она этого не сделала.

И как быть?

Городить в самом скрипте всё необходимое? Ну можно и так, но есть способ изящнее.

Изменяем скрипт:

#!/bin/bash -i

alias
echo "hello bashdays"
glist


Добавился ключик -i, с помощью него мы запускаем оболочку bash в интерактивном режиме. Само собой подтягиваются всякие bashrc и т.п. как при обычно логине.

✔️ Теперь при запуске скрипта:

1. Выведется список всех алиасов
2. Выведется строка из echo
3. Отработает алиас glist == ls -la

Можно конечно еще и через source, shopt -s expand_aliases и прочие велосипеды подобное сделать, но через ключик -i более нативнее что-ли получается.

Если же нет возможности поправить скрипт, как вариант, прописываем в bashrc такую строчку:

function glist () { command ls -la "$@"; }; export -f glist


Теперь даже без ключа -i функция glist будет работать в любом скрипте без вмешательства в него.

Короче везде свои нюансы. Но вообще как совет — не нужно привязываться к алиасам, если нужно сделать ls -la, так и пиши в скрипте, нахер эти спагетти, оставь их для ансибла.

Чем меньше привязок, тем меньше багов и стабильнее твой скрипт. Пусть он будет самодостаточный и независимый от всякой хуйни. Изучай.

tags: #bash #linux

@ВАSНDАYS | BАSHDАYS.CОM
More from @bashdays
  1. Sep 30, 2026↗️ Для всех, кто строит 15 октября Cloud․ru соберет инженеров, которые строят и эксплуатир…
  2. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  3. Sep 24, 2026Post #1565
  4. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  5. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  6. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →