#bash #shell
#bash #оболочка
Вопрос:
Как я могу это сделать, когда я пишу «mosquitto» в оболочке, он думает, что я написал «mosquitto -c /etc/mosquitto/conf.d/mosquitto.conf»?
Мне всегда приходится использовать опцию, когда я выполняю эту команду в оболочке (mosquitto), и я хочу ее пропустить. Mosquitto — это посредник сообщений, поэтому он продолжает прослушивать. Когда я выполняю
mosquitto -c /etc/mosquitto/conf.d/mosquitto.conf
терминал выглядит следующим образом:
manuel@Manuel:~$ mosquitto -c /etc/mosquitto/conf.d/mosquitto.conf
1602063783: mosquitto version 1.4.15 (build date Tue, 18 Jun 2019 11:42:22 -0300) starting
1602063783: Using default config.
1602063783: Opening ipv4 listen socket on port 1883.
1602063783: Opening ipv6 listen socket on port 1883.
и это не заканчивается.
Итак, я искал решение, которое изменяло файл «.bashrc» и добавляло функцию, подобную этой:
#Using mosquitto with local conf
function mosquitto
{
mosquitto -c /etc/mosquitto/conf.d/mosquitto.conf $@
}
Но с помощью этой функции вывод не отображается в оболочке. Я также пытался добавить «> amp; 1», но это не работает, и я думаю, что это потому, что команда не заканчивается.
Ответ №1:
Может быть, вам достаточно псевдонима? Если вы добавите это в свой файл .bashrc
alias youraliasname='mosquitto -c /etc/mosquitto/conf.d/mosquitto.conf'
(не забудьте перезагрузить ваш файл .bashrc)
Затем ввод youraliasname
должен делать то, что вы ожидаете.
Редактировать : вы также можете просто ввести команду alias, чтобы определить и попробовать псевдоним, не редактируя свой .bashrc. Используйте unalias youraliasname
, чтобы удалить ее после.
Комментарии:
1. Спасибо! Это именно то, что я искал. <3