Localmente estoy ejecutando Debian estable ~bash-versión 4.1.5...
De forma remota mi servidor ejecuta Centos 5-8.el5bash-versión 3.2.25...
Tengo un archivo .bash_alias en ambas distribuciones que contiene un alias 'll' para la opción ls --group-directories-first... Sin embargo, esta opción falla de forma remota...
##############################################################
# BASH_ALIASES
##############################################################
#-------------------------------------------------------------
# The 'ls' family
#-------------------------------------------------------------
alias ll="ls -l --group-directories-first"
alias ls='ls -hF --color' # add colors for filetype recognition
alias la='ls -Al' # show hidden files
alias lx='ls -lXB' # sort by extension
alias lk='ls -lSr' # sort by size, biggest last
alias lc='ls -ltcr' # sort by and show change time, most recent last
alias lu='ls -ltur' # sort by and show access time, most recent last
alias lt='ls -ltr' # sort by date, most recent last
alias lm='ls -al |more' # pipe through 'more'
alias lr='ls -lR' # recursive ls
alias tree='tree -Csu' # nice alternative to 'recursive ls'
# ------------------------------------------------------------
# Play nicely ...
# ------------------------------------------------------------
alias rm='rm -i'
alias rmdir='rmdir -p'
alias cp='cp -i'
alias mv='mv -i'
alias mkdir='mkdir -p'
¿Es esto simplemente una diferencia en las versiones de bash?
Respuesta1
El .bash_alias
archivo no es estándar y debe cargarse explícitamente en uno de los archivos cargados automáticamente, por ejemplo .bashrc
o .bash_profile
. Utilice el siguiente fragmento de guión:
[[ -f ~/.bash_alias ]] && . .bash_alias
Asegúrate de incluir .bash_alias
el correcto; Los terminales locales de Linux generalmente no inician shells de inicio de sesión, por lo que usaría .bashrc
, pero a través de SSH en el sistema remoto, bash solo se cargará .bash_profile
automáticamente. Ver la secciónINVOCACIÓNen man bash
.