~ / .bashrc return só pode 'retornar' de uma função ou script de origem

2

Estou tentando configurar uma caixa do OpenStack para dar uma olhada no OpenStack Object Storage (Swift). Olhando pela web, encontrei este link;

link

Eu segui as instruções linha por linha, mas segui a etapa 7 na seção "Obtendo o código e configurando o ambiente de teste".

Quando executo ~ / .bashrc , obtenho;

line 6: return: can only 'return' from a function or sourced script. 

Abaixo está o extrato da Linha 6 de ~ / .bashrc . Minha primeira reação é comentar essa linha, mas não sei o que ela faz. Alguém pode ajudar?

#If not running interactively, dont't do anything
[ -z "$PS1" ] && return

Estou executando o Ubuntu 12.04 como uma VM no Hyper-v, sabendo que isso é útil.

    
por Timothy 28.06.2012 / 21:23

2 respostas

1

Parece que você deve "pesquisar" o script. Isso significa rodá-lo assim:

. ~/.bashrc

É efetivamente o mesmo que digitar todo o comando no shell do qual está sendo executado e tem o efeito de alterar o ambiente do shell em execução (o que não acontece se for executado como um subprocesso).

    
por Dave Jennings 28.06.2012 / 21:38
1

Essa página está dando um conselho ruim. Você deve não colocar essas linhas em ~/.bashrc . As exportações devem estar em ~/.profile apenas. O ~/.profile padrão já adiciona ~/bin ao PATH (se ~/bin existir), portanto, não é necessário repetir esse. Assim:

  1. Remova as linhas adicionadas a ~/.bashrc
  2. Adicione a linha export SWIFT_TEST_CONFIG_FILE=/etc/swift/test.conf a ~/.profile
  3. Faça logout e volte novamente ( ~/.profile é lido quando você faz login)

Veja o link para saber mais.

    
por geirha 28.06.2012 / 22:44