carrega automaticamente scripts de shell de / usr / bin

3

Existe uma maneira de fazer com que o bash carregue automaticamente scripts de shell que eu crio e coloco em / usr / bin?

Ou existe um lugar diferente em que eu devo colocar scripts de shell personalizados para que eles sejam carregados automaticamente?

Por exemplo, suponha que eu crie um script chamado myscript com conteúdo:

#!/bin/bash
alias e=echo

e torne-o executável ( chmod a+x ), e coloque-o em usr / bin. Eu não consigo chamar e da linha de comando (quando eu tento, ele diz que o comando não foi encontrado).

O que estou fazendo de errado?

    
por Cam 17.01.2011 / 19:16

2 respostas

7

O alias que você definiu só terá efeito quando o comando alias for realmente chamado. Assim, se você fosse fazer isso:

$ source myscript
$ e "Hello"

Deve funcionar. No entanto, isso claramente não é o ideal, pois você deseja que e esteja disponível sempre que iniciar o bash. Felizmente, o bash fornece várias maneiras de executar comandos automaticamente quando o shell é iniciado. Para os detalhes completos sobre como o bash é iniciado, consulte a página de manual . Para nossos propósitos, é suficiente saber que ~/.bashrc (ou seja, um arquivo chamado ".bashrc" em seu diretório pessoal) é executado quando seu shell é inicializado. Uma maneira de disponibilizar seu alias na inicialização seria adicionar essa linha no final de ~/.bashrc :

source myscript

No entanto, se você fizer isso para cada alias que quiser, sua pasta /usr/bin provavelmente se tornará uma bagunça. E, se você estiver em um sistema multiusuário, o preenchimento de /usr/bin/ com scripts como esse pode causar problemas em outros usuários também. Assim, é melhor colocar seus aliases dentro de .bashrc e abandonar o script separado todos juntos. Como você está usando o Ubuntu, dentro do seu arquivo .bashrc , você provavelmente tem algo parecido com isto:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases 
fi

Este código procura por uma chamada de arquivo .bash_aliases em seu diretório pessoal e executa qualquer coisa que encontrar nesse arquivo também. Se você tiver isso, ou se você adicionar esse código ao seu .bashrc , também poderá colocar seu alias em ~/.bash_aliases . Isso fornece uma maneira fácil de manter todos os seus aliases em um só lugar e manter seu arquivo .bashrc organizado.

    
por 17.01.2011 / 19:35
5

Tais comandos devem ser colocados em ~ / .bashrc

    
por 17.01.2011 / 19:28