1 votos

¿Hay alguna forma de exportar alias en macOS en Korn Shell (ksh)?

Las versiones anteriores del shell Korn ( ksh ) permitían exportar alias a subshells mediante la -x , por ejemplo:

 alias -x dog=cat

Con la versión actual de macOS, la página de manual ksh

 "The obsolete -x option has no effect."

¿Hay alguna forma alternativa de exportar alias en macOS en ksh sin ponerlos en .kshrc ?

1voto

David Anderson Puntos 2189

No soy un gran ksh lo que es probable que otros usuarios puedan mejorar esta respuesta. (O desaprobar.)

Si bien no encontré cómo exportar alias, encontré cómo guardar los alias en una variable exportada. El script en el .kshrc se puede modificar para recrear los alias almacenados en esta variable. Los comandos propuestos para agregar al .kshrc se muestran a continuación

 if [[ ${#LISTOFALIASES} != 0 ]]; then
    ALIASIFSBACKUP="$IFS"
    IFS=$'\n'
    while read -r CURRENTALIAS; do
        eval "command -p alias $CURRENTALIAS"
    done <<< "$LISTOFALIASES"
    IFS="$ALIASIFSBACKUP"
    unset ALIASIFSBACKUP CURRENTALIAS
fi
export LISTOFALIASES
aliasx() { command -p alias "$@"; LISTOFALIASES="$(command -p alias)"; }
unaliasx() { command -p unalias "$@"; LISTOFALIASES="$(command -p alias)"; }
command -p alias alias=aliasx
command -p alias unalias=unaliasx

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X