webirus
@webirus
Тыжверстальщик! Наверстай мне упущенное...

Как создать свою команду в консоли?

Хочу, хочу, хочу!
Хочу запускать своей собственной командой локальные сайты.
У меня стоит Галп, сейчас используется команда:

cd public_html/sitename.loc/ && atom . && gulp watch

А я хочу по-другому, например:

siteloc sitename start

Чтобы при этом запускался и Атом и Галп.

Это вообще в какую сторону копать?
  • Вопрос задан
  • 1190 просмотров
Решения вопроса 3
SmartFinn
@SmartFinn
Сетевой инженер, ну или себя таковым считаю
Странно что никто не предложил самый простой и, на мой взгляд, самый подходящий для этого случая способ — создать функцию в .bashrc

вставьте эти строки в конец файла ~/.bashrc

function siteloc() {
	# выйти если нет аргумента
	[ -n "$1" ] || return 1
	cd "$HOME/public_html/$1.loc"
	atom .
	gulp watch
}


и выполните команду source ~/.bashrc чтобы изменения вошли в силу.

После чего можно выполнять этот набор команд строчкой: siteloc sitename

В дальнейшем можно эту функцию улучшить, например добавить проверку существует ли каталог "$HOME/public_html/$1.loc".
Ответ написан
tremo0880
@tremo0880
Inf.Sec
так напишите свой скрипт где будут парсеры которые будут проверять какие параметры вы ввели. Например:
start '1'
start '2'
start '3'
три это параметры
Затем просто добавить путь к вашему скрипту в init.d
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
пишете startsite.sh на баш, помещаете его куда-нить в PATH

#########################
#!/bin/bash

if [ -d "$1" ];
then 
  cd /var/www/public_html/$1.loc
  atom
  gulp watch
else
  echo "$1 website not found"
fi

#########################

и запускаете его типа
startsite.sh sitename
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
DMGarikk
@DMGarikk
Software Developer
Копайте в сторону шелл-скриптов
Ответ написан
Комментировать
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
посмотрите в /etc/init.d - там есть скрипты, которые запускают сервисы. Вы хотите сделать аналог.
Ответ написан
Комментировать
plin2s
@plin2s
IT, инженер
Если устроит одиночная команда без параметров типа "siteloc-sitename-start", то гуглите в сторону bash alias. Если нужн именно сервис с параметрами, то надо делать init/systemd скрипт.
Ответ написан
CityCat4
@CityCat4
Жил-был у бабушки серенький троллик...
В сторону Bourne Shell. Напишите скриптец, который будет допустим параметы start/stop обрабатывать, назовите его siteloc - никто же не помешает. Вообще Bourne Shell - это настоящая эльфийская магия, он творит чудеса :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
10 авг. 2022, в 03:31
7000 руб./за проект
10 авг. 2022, в 03:28
40000 руб./за проект
10 авг. 2022, в 02:55
50000 руб./за проект