Как я могу изменить команду в оболочке?

#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