Como posso criar um comando de terminal personalizado (para executar um script)?


36

Sou desenvolvedor web. Quando quero começar a trabalhar, sempre estou executando algum comando no terminal. Por exemplo:

sudo service apache2 start
sudo service mysql start
sublime

Para acelerar esse processo, crio um .sharquivo que contém esses comandos.

Agora, quando quero começar a trabalhar, estou apenas executando este arquivo .sh e todos os serviços (mysql, apache2 etc.) iniciando.

É possível criar um comando personalizado para isso? Por exemplo, se eu digitar sudo start-workingno terminal, ele executará esses comandos

Respostas:


58

Uma maneira comum de lidar com isso é criar um bindiretório em seu diretório pessoal:mkdir ~/bin

Em seguida, você pode colocar seus scripts personalizados lá: mv start-working ~/bin

Verifique se o seu script é executável: chmod +x ~/bin/start-working

Adicione isso ao final do seu ~/.bashrcarquivo (se você estiver usando o bash, o que provavelmente é):export PATH=$PATH:~/bin

Agora entre e saia do seu terminal e você poderá simplesmente digitar start-working, e seu script será executado.

Agora que seu caminho está configurado, qualquer novo script que você solte no seu ~/binpode digitar apenas o nome de.


13
+1 e, em vez de fazer logoff e logon, você pode simplesmente executar os comandos source ~/.bashrcou . ~/.bashrcpara aplicar as alterações.
— Meysam 02/09/12

Joe Oppegaard, acho essas informações realmente úteis, pois existem scripts completos que eu tenho e gostaria de executar como um comando, e não como um script. Existe uma maneira de incluir todos os subdiretórios criados em ~ / bin para que você não precise incluir várias linhas de exportação no .bashrc? Eu tentei, export PATH=$PATH:~/bin/*mas isso não retornou os resultados desejados.
— precisa

2
O padrão ~/.profilejá é adicionado ~/binao PATH; portanto, anexá-lo ~/.bashrcalém disso irá adicioná-lo sem sentido duas ou mais vezes.
— Geirha #

Ele trabalhou sem me acrescentar nada para .bashrc, assim você pode ser capaz de ignorar que, como geriha diz
— Aaron Flores

na minha experiência, quando você adiciona um novo arquivo, você precisa refazer um comando chmod, caso contrário, a permissão será negada
— Webwoman 28/02

15

Eu estava procurando como criar comandos personalizados e encontrei essa pergunta entre outros. Penso que o que procurava era aliases, por isso darei o caminho para fazer isso com um alias.

Na sua pasta pessoal:

nano .bash_aliases

E aí você pode anotar seus comandos em uma linha:

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

Após salvar o arquivo, reconfigure o seu bashrc

. ~/.bashrc

E verifique se o seu novo alias está carregado

alias

É isso, você pode começar a trabalhar agora executando

start-working
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.