Як я можу створити спеціальну команду терміналу (для запуску сценарію)?


36

Я веб-розробник. Коли я хочу почати працювати, я завжди виконую якусь команду на терміналі. Наприклад:

sudo service apache2 start
sudo service mysql start
sublime

Для прискорення цього процесу я створюю .shфайл, який містить ці команди.

Тепер, коли я хочу почати працювати, я просто виконую цей файл .sh та всі сервіси (mysql, apache2 тощо).

Чи можна створити для цього спеціальну команду? Наприклад, якщо я набираю sudo start-workingтермінал, він виконує ці команди

Відповіді:


58

Поширений спосіб, коли люди впораються з цим, це зробити binкаталог у своєму домашньому каталозі:mkdir ~/bin

Потім ви можете помістити там свої власні сценарії: mv start-working ~/bin

Переконайтеся, що ваш сценарій виконується: chmod +x ~/bin/start-working

Додайте це внизу вашого ~/.bashrcфайлу (якщо ви використовуєте bash, який ви, мабуть, є):export PATH=$PATH:~/bin

Тепер увійдіть і вийдіть зі свого терміналу, і ви зможете просто набрати start-working, і ваш сценарій буде виконуватися.

Тепер, коли ваш шлях налаштований, будь-які нові сценарії, які ви потрапляєте у свої, ~/binви можете просто ввести ім’я.


13
+1, і замість того, щоб вийти з системи та ввійти, ви можете просто запустити команду source ~/.bashrcабо, . ~/.bashrcщоб застосувати зміни.
Мейсам

Джо Оппегаард, я вважаю цю дійсно корисною інформацією, оскільки у мене є виконані сценарії, і я хотів би запускатись як команда, а не сценарій. Чи є спосіб включити всі підкаталоги, які ви створюєте в ~ / bin, щоб вам не довелося включати кілька рядків експорту в .bashrc? Я спробував, export PATH=$PATH:~/bin/*але це не повернуло бажаних результатів.
Кевін Вайман

2
За замовчуванням ~/.profileвже додається ~/binPATH, тому додавання його ~/.bashrcдодатково безглуздо додасть його вдвічі чи більше.
geirha

Працювало, не додаючи нічого до .bashrc, тому ви можете пропустити це, як говорить геріха
Аарон Флорес

з мого досвіду, коли ви додаєте новий файл, вам доведеться повторити команду chmod, інакше в дозволі буде відмовлено
Веб-жінка

15

Я шукав, як створити спеціальні команди, і знайшов це питання серед інших. Я думаю, що я шукав псевдоніми, тому я дам вам спосіб зробити це з псевдонімом.

У домашній папці:

nano .bash_aliases

І там ви можете записати свої команди в один рядок:

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

Після збереження файлу переконфігуруйте bashrc

. ~/.bashrc

І перевірте, чи завантажений ваш новий псевдонім

alias

Це все, ви можете почати працювати зараз, запустивши

start-working
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.