Uso de HOSTNAME e CURRENT_USER em scripts no linux

2

Suponha que eu queira editar /etc/profile :

PYTHONPATH = /home/CURRENT_USER/

  1. Como eu tenho uma variável que preenche automaticamente o usuário atual?
  2. E o nome do host ?
  3. Essas variáveis de ambiente não são?
por Alex 31.10.2009 / 23:12

4 respostas

9

$USER normalmente deve ser definido para o usuário atual e $HOSTNAME para o nome do host atual. Se não, você também pode obtê-los da saída de whoami e hostname

Além disso, o diretório pessoal do usuário não está necessariamente em /home/[username] . Você deve usar o valor de $HOME .

    
por 31.10.2009 / 23:17
1

Se você deseja ver todas as suas variáveis ambientais disponíveis, use o seguinte comando:

bash$ set

Lembre-se de diferenciação de maiúsculas e minúsculas, para hostname você precisará de $ HOSTNAME e $ USER

bash$ echo $USER
sparks
bash$ echo $HOSTNAME
servername
    
por 31.10.2009 / 23:26
0

Outra abordagem é adicionar uma chamada a sys.addsitedir em sitecustomize.py em vez de PYTHONPATH.

No entanto, desde o Python 2.6, você provavelmente não precisa fazer nada, porque /home/$USER/.local/lib/python2.6/site-packages é automaticamente adicionado a sys.path . Esta é uma boa escolha de local padrão para colocar módulos / pacotes específicos do usuário; você não deseja realmente adicionar o próprio diretório home como um caminho de módulo, pois ele contém todos os tipos de coisas que não são módulos, o que poderia confundir importações.

Veja PEP370 para detalhes.

    
por 01.11.2009 / 02:08
0

Em python, chame os.uname () para obter o nome do host (e outros detalhes em uma matriz).

    
por 01.11.2009 / 13:35