Bash Function Oblivion [duplicado]

2

Sou relativamente novo no Linux, como muitos de vocês devem ter notado. O que eu falo particularmente é adicionar funções pessoais, geradas pelo usuário e alias no meu arquivo .bashrc. Eu não sei exatamente como o bash funciona, mas de acordo com muitos posts eu adiciono ao final do meu arquivo .bashrc. O que não funciona quando o comando é executado através do Terminal.

    
por atlaspaine 08.07.2014 / 08:51

2 respostas

1

Para os cascos de login, .profile no seu diretório pessoal será executado. Portanto, se você tiver funções definidas em .bashrc , verifique se o arquivo está incluído em .profile , conforme abaixo:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

Além disso, você pode emitir o comando abaixo:

source ~/.bashrc

e depois ligue para as suas funções. Isso garantirá que não há problemas em incluir arquivos.

    
por Ashish 08.07.2014 / 09:12
0

Sempre que você abre um novo terminal, todos os comandos em seu .bashrc são executados (o arquivo é 'originado'). Se você adicionar um novo comando ao seu .bashrc, precisará abrir um novo terminal ou emitir um dos seguintes comandos:

. ~/.bashrc
source ~/.bashrc

Por exemplo, você poderia colocar uma nova linha (cada comando tem que estar em uma nova linha - bem, na verdade é uma simplificação, mas é o suficiente para um novato absoluto continuar) no final do seu .bashrc algo como:

alias hello='echo "Hello, $USER"'

... depois de abrir uma nova janela de terminal ou usar um dos comandos de origem, você deve digitar hello e receber uma saudação de sua máquina.

Se você estiver fazendo tudo isso e as funções / aliases não funcionarem, provavelmente há algo errado com as funções específicas ou aliases que você está usando. Se você suspeitar que é o caso, fique à vontade para fazer uma pergunta separada.

Quanto aos tutoriais, um que eu achei muito claro e útil quando eu estava começando com o bash era o linuxcommand .

    
por evilsoup 08.07.2014 / 11:33