GNU/Linux >> Tutoriales Linux >  >> Linux

Alias ​​en subshell/proceso hijo

Los alias no se heredan. Es por eso que tradicionalmente se configuran en bashrc y no profile . Obtenga su script.sh de tu .bashrc o el de todo el sistema en su lugar.


Si desea que se hereden en subcapas, use funciones en su lugar. Estos se pueden exportar al entorno (export -f ), y las subcapas tendrán esas funciones definidas.

Entonces, para uno de tus ejemplos:

rmvr() { rm -rv "[email protected]"; }
export -f rmvr

Si tiene un montón de ellos, configure primero para exportar:

set -a # export the following funcs
rmvr() { rm -rv "[email protected]"; }
cpvr() { cp -rv "[email protected]"; }
mvrv() { mv -rv "[email protected]"; }
set +a # stop exporting

Esto se debe a que /etc/profile.d/ solo lo usa el shell de inicio de sesión interactivo. Sin embargo, /etc/bash.bashrc es utilizado por el shell interactivo sin inicio de sesión.

Como suelo establecer algunos alias globales para el sistema, comencé a crear /etc/bashrc.d donde puedo colocar un archivo con algunos alias globales:

    HAVE_BASHRC_D=`cat /etc/bash.bashrc | grep -F '/etc/bashrc.d' | wc -l`

    if [ ! -d /etc/bashrc.d ]; then
            mkdir -p /etc/bashrc.d
    fi
    if [ "$HAVE_BASHRC_D" == "0" ]; then
        echo "Setting up bash aliases"
            (cat <<-'EOF'
                                    if [ -d /etc/bashrc.d ]; then
                                      for i in /etc/bashrc.d/*.sh; do
                                        if [ -r $i ]; then
                                          . $i
                                        fi
                                      done
                                      unset i
                                    fi
                            EOF
            ) >> /etc/bash.bashrc

    fi

Linux
  1. ¿Por qué el Pgid de los procesos secundarios no es el Pid del padre?

  2. ¿Cómo encontrar todos los procesos secundarios?

  3. ¿Cómo obtener el valor de retorno de CHILD PROCESS?

  4. El proceso hijo recibe SIGINT del padre

  5. Cómo configurar la ID del proceso en Linux para un programa específico

Linux:¿cómo configurar la afinidad del procesador de un proceso en Linux?

Linux:¿necesita una explicación sobre el tamaño del conjunto residente/tamaño virtual?

Linux:¿comando para ejecutar un proceso secundario "fuera de línea" (sin red externa) en Linux?

¿Cómo configurar alias de dominio en cPanel?

¿Usando prctl PR_SET_NAME para establecer el nombre del proceso o subproceso?

¿Puedo reanudar un proceso vim existente?