AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-1749616

HWe's questions

Martin Hope
HWe
Asked: 2025-01-25 00:30:16 +0800 CST

Por que meus aliases (definidos via environment-modules) não são carregados no terminal ou no konsole?

  • 6

Esse problema me deixa louco. Ele está funcionando em todos os meus sistemas RHEL, mas no Ubuntu20LTS não consigo fazê-lo funcionar corretamente.

A configuração:

Os módulos de ambiente são carregados por meio de um script em "/etc/profile.d" para todos os usuários quando eles abrem um terminal/konsole. O módulo "aliases" define aliases para todos os nossos projetos e todos os usuários devem ver esses aliases em seu ambiente. Como aprendi, o terminal/konsole abrirá "interactive non-login-shells". Em nossa configuração, o ".bashrc" é originado quando o terminal/konsole é aberto.

O que é esperado e funciona no RHEL, mas não funciona no Ubuntu20LTS:

Abra o terminal ou konsole --> os módulos são carregados (via script em “etc/profile.d/…”) --> “alias” mostra todos os aliases definidos do módulo “aliases” (veja o conteúdo ".bashrc" no final deste post):

I am .bashrc and was loaded!
[INFO:] $MODULEPATH=/icd/cfg/modules:

Currently Loaded Modulefiles:
 1) aliases   2) common   3) aliases_ue   
[userXY@host:~]
# alias
alias ATIC183='cd $ICD_PROJ/ATIC183; source $ICD_CFG/env/proj_setup/start_proj.sh'
alias FFT='cd $ICD_PROJ/monarch; source $ICD_CFG/env/proj_setup/start_proj.sh'
alias HXLR0='cd $ICD_PROJ/HXLR0; source $ICD_CFG/env/proj_setup/start_proj.sh'

O que é experimentado no Ubuntu20LTS:

Abra o terminal --> os módulos são carregados --> “alias” NÃO mostra os aliases definidos, apenas uma definição de ".bashrc":

I am .bashrc and was loaded!
[INFO:] $MODULEPATH=/icd/cfg/modules:

Currently Loaded Modulefiles:
 1) aliases   2) common   3) aliases_ue   

[userXY@host:~]
# alias
alias ll='ls -al'

O que foi testado adicionalmente e NÃO funciona:

Abra o terminal --> recarregue o módulo via “module load aliases” --> “alias” NÃO mostra os aliases definidos

Abra o terminal --> “su userXY” --> os módulos são carregados --> “alias” NÃO mostra os aliases definidos

# su userXY
Password: 
I am .bashrc and was loaded!
[INFO:] $MODULEPATH=/icd/cfg/modules:

Currently Loaded Modulefiles:
 1) aliases   2) common   3) aliases_ue   
[userXY@host:~]
# alias
alias ll='ls -al'

Abra o terminal --> “bash -l” --> os módulos são carregados --> “alias” NÃO mostra os aliases definidos, mas outros aliases são carregados adicionalmente

Abra o terminal --> “su userXY” --> os módulos são carregados --> “bash -l” --> alias” NÃO mostra os aliases definidos, mas outros aliases são carregados adicionalmente

# bash -l
I am .bashrc and was loaded!
[INFO:] $MODULEPATH=/icd/cfg/modules:

Currently Loaded Modulefiles:
 1) aliases   2) common   3) aliases_ue  

[userXY@host:~]
# alias
alias ll='ls -al'
alias pat='puppet agent -t'
alias su2='sudo su -'

Abra o terminal --> “sudo su userXY” --> NENHUM módulo foi carregado

# sudo su userXY
ERROR: No module path defined
ERROR: No module path defined
I am .bashrc and was loaded!
[INFO:] $MODULEPATH=

No Modulefiles Currently Loaded.

O que está funcionando para obter os aliases:

Abra o terminal --> “sudo su userXY” --> NENHUM módulo foi carregado --> “bash -l” --> alias mostra todos os aliases definidos

Abra o terminal --> ssh localhost --> os módulos são carregados --> alias mostra todos os aliases definidos

# sudo su userXY
ERROR: No module path defined
ERROR: No module path defined
I am .bashrc and was loaded!
[INFO:] $MODULEPATH=

No Modulefiles Currently Loaded.
[userXY@host:~]
# bash -l
I am .bashrc and was loaded!
[INFO:] $MODULEPATH=/icd/cfg/modules:

Currently Loaded Modulefiles:
 1) aliases   2) common   3) aliases_ue      
[userXY@host:~]
# alias
alias ATIC183='cd $ICD_PROJ/ATIC183; source $ICD_CFG/env/proj_setup/start_proj.sh'
alias FFT='cd $ICD_PROJ/monarch; source $ICD_CFG/env/proj_setup/start_proj.sh'
alias HXLR0='cd $ICD_PROJ/HXLR0; source $ICD_CFG/env/proj_setup/start_proj.sh'

Parece que tem a ver com os shells de login e não login. Mas não consigo descobrir por que os aliases (que são definidos pelos módulos carregados) são sobrescritos/excluídos em um cenário, mas estão disponíveis no outro cenário.

Esses são arquivos de configuração no meu $HOME:

.bash_aliases --> inexistente

.profile --> inexistente

.login --> inexistente

.cshrc --> inexistente

.bashrc

#cat .bashrc

case "$0" in
          -sh|sh|*/sh) modules_shell=sh ;;
       -ksh|ksh|*/ksh) modules_shell=ksh ;;
       -zsh|zsh|*/zsh) modules_shell=zsh ;;
    -bash|bash|*/bash) modules_shell=bash ;;
esac
module() { eval `/usr/bin/tclsh8.6 /usr/lib/x86_64-linux-gnu/modulecmd.tcl $modules_shell $*`; }
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

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

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=


# User specific aliases and functions
export SVN_EDITOR=vi

#colorized shell prompt
export PS1='[\[\033[1;31m\]\u@\[\033[1;34m\]\h:\[\033[0;32m\]\w\[\033[0m\]]\n# '

# load aliases
module load aliases_ue   

#disable beep
xset b off

alias ll="ls -al"
echo "I am .bashrc and was loaded!"
echo -e "[INFO:] \$MODULEPATH=$MODULEPATH\n"
module list

.bash_perfil

# cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

.kshrc

# cat .kshrc 
# .kshrc

# Source global definitions
if [ -f /etc/kshrc ]; then
        . /etc/kshrc
fi

# use emacs editing mode by default
set -o emacs

# User specific aliases and functions

Qualquer dica é muito apreciada!

command-line
  • 1 respostas
  • 69 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve