Lança palavras para o meu “.profile” não executando

2

Estou tentando adicionar palavras de lançamento ao meu perfil, mas estou recebendo "hstart: command not found"

sudo vi ~/.profile
alias hstart="$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/start-dfs.sh;$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/start-yarn.sh"
alias hstop="$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/stop-yarn.sh;$HOME/.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/stop-dfs.sh"

Localização dos arquivos .sh :

./.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin

find -iname "start-dfs.sh"
./.linuxbrew/Cellar/hadoop/2.7.3/libexec/sbin/start-dfs.sh
./.linuxbrew/Cellar/hadoop/2.7.3/sbin/start-dfs.sh
    
por user 25.09.2016 / 06:03

1 resposta

5

Pontos:

  • Ao fazer sudo vi ~/.profile , você abriu e editou seu .profile ie "$HOME"/.profile como root , porque o shell faz a expansão de til ( ~ ) primeiro, então sudo vi obtém o caminho completo para o arquivo. A expansão $HOME interna dependeria do usuário chamador.

  • ~/.profile é lido apenas para o shell de login (dado ~/.bash_profile e ~/.bash_login não existe), não para qualquer shell interativo, ~/.bashrc é lido para qualquer interação sessão de shell

Portanto, você precisa colocar as definições de alias em seu ~/.profile (basta fazer vi ~/.profile ,% de quedasudo) e obter as definições na sessão atual source o arquivo ~/.profile por %código%. IMO, seria melhor você colocar as definições em source ~/.profile .

O ~/.bashrc padrão do Ubuntu tem:

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

para que você possa colocar as definições de ~/.bashrc em alias , apenas para mantê-las separadas e fáceis de manter.

    
por heemayl 25.09.2016 / 06:13