Saltar al contenido

¿Cómo ejecutar un alias en un script de shell?

Hacemos una verificación profunda cada enunciado de nuestra web con la meta de mostrarte en todo momento información certera y actual.

Solución:

Algunas opciones:

  1. En su script de shell, use la ruta completa en lugar de un alias.

  2. En su script de shell, establezca una variable, sintaxis diferente

    petsc='/home/your_user/petsc-3.2-p6/petsc-arch/bin/mpiexec'
    
    $petsc myexecutable
    
  3. Utilice una función en su secuencia de comandos. Probablemente mejor si petsc es complejo

    function petsc () 
        command 1
        command 2
    
    
    petsc myexecutable
    
  4. Obtenga sus alias

    shopt -s expand_aliases
    source /home/your_user/.bashrc
    

Probablemente no desee obtener su .bashrc, entonces IMO uno de los primeros 3 sería mejor.

Los alias están en desuso en favor de las funciones de shell. Desde la página del manual de bash:

Para casi todos los propósitos, los alias son reemplazados por funciones de shell.

Para crear una función y exportarla a subcapas, ponga lo siguiente en su ~/.bashrc:

petsc() 
    ~/petsc-3.2-p6/petsc-arch/bin/mpiexec "[email protected]"

export -f petsc

Entonces puede llamar libremente a su comando desde sus scripts de shell.

Las funciones de shell y los alias se limitan al shell y no funcionan en scripts de shell ejecutados. Alternativas para su caso:

  • (si no te molestas en usar mpiexec en vez de petsc) Agregar $HOME/petsc-3.2-p6/petsc-arch/bin para usted PATH variable. Esto se puede hacer editando ~/.profile y adjuntando:

    PATH="$HOME/petsc-3.2-p6/petsc-arch/bin:$PATH"
    

    Vuelva a iniciar sesión para aplicar estos cambios

  • Crea el directorio ~/bin y

    • hacer un script de envoltura llamado petsc que contiene:

      #!/bin/sh
      exec ~/petsc-3.2-p6/petsc-arch/bin/mpiexec "[email protected]"
      
    • si el programa lo permite, puede omitir el shellscript y crear un enlace simbólico usando el comando:

      ln -s ~/petsc-3.2-p6/petsc-arch/bin/mpiexec ~/bin/petsc
      

Sección de Reseñas y Valoraciones

Si crees que te ha sido de provecho este artículo, sería de mucha ayuda si lo compartieras con otros juniors así contrubuyes a difundir nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *