Щоб задати це питання мені знадобилося майже 10 років використання Linux. Все це було пробними помилками та випадковим веб-серфінгом пізньої ночі.
Але людям не потрібно для цього 10 років. Якби я тільки починав роботу з Linux, я хотів би знати: Коли робити псевдонім, коли сценарій і коли написати функцію?
Що стосується псевдонімів, я використовую псевдоніми для дуже простих операцій, які не беруть аргументів.
alias houston='cd /home/username/.scripts/'
Це здається очевидним. Але деякі люди роблять це:
alias command="bash bashscriptname"
(і додати його у .bashrc
файл)
Чи є вагомі причини для цього? Я дуже стараюся, але справді не можу придумати жодних обставин, за яких я хотів би це зробити. Отже, якщо є крайній випадок, коли це може змінити ситуацію, будь ласка, дайте відповідь нижче.
Тому що саме там я просто поклав би щось у свій PATH, і chmod +x
це ще одна річ, що з’явилася після років проб і помилок Linux.
Що підводить мене до наступної теми. Наприклад, я додав приховану папку ( .scripts/
) в домашній каталог до свого PATH, просто додавши рядок до мого .bashrc
( PATH=$PATH:/home/username/.scripts/
), тому все, що виконується там, автоматично автоматично завершується.
Якщо мені потрібно.
Мені це насправді не потрібно, чи не так? Я використовував би це лише для мов, які не є оболонкою, як Python.
Якщо це оболонка, я можу просто написати функцію все тієї ж .bashrc
:
funcname () {
somecommand -someARGS "$@"
}
Як я вже зазначив, я дізнався багато цього через спроби та помилки. І я справді бачив красу функцій, коли мій комп’ютер помер, і я був змушений користуватися комп'ютерами оточуючих людей, коли вони не використовували їх.
Замість того, щоб перенести цілий каталог сценаріїв з комп'ютера на комп'ютер, я в кінцевому підсумку просто замінив усі.
Але я щось пропустив?
Отже, що б ви сказали початковому користувачеві Linux про те, коли він повинен мати псевдонім, коли сценарій та коли писати функцію?
Якщо це не очевидно, я припускаю, що люди, які відповідають на це, використають усі три варіанти. Якщо ви використовуєте лише псевдоніми або використовуєте лише скрипти, або використовуєте лише функції - або якщо ви використовуєте лише псевдоніми та сценарії або псевдоніми та функції або сценарії та функції - це питання насправді не спрямоване на вас.