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

Pregunta:

Tengo un archivo ejecutable mpiexec , cuya ruta completa es ~/petsc-3.2-p6/petsc-arch/bin/mpiexec . Como quiero ejecutar este comando en diferentes directorios (sin tener que volver a escribir la ruta completa), configuro un alias en mi archivo .bashrc inicio:

alias petsc="~/petsc-3.2-p6/petsc-arch/bin/mpiexec"  

lo que me permite ejecutar este archivo mpiexec en el símbolo del sistema fácilmente escribiendo:

petsc myexecutable

Intenté escribir un archivo de script de shell, llamado script , usando mi nuevo alias petsc como comando. Después de darle a mi script de shell los permisos apropiados (usando chmod ), intenté ejecutar el script. Sin embargo, me dio el siguiente error:

./script: line 1: petsc: command not found

Sé que podría escribir la ruta completa al archivo mpiexec , pero es engorroso escribir la ruta completa cada vez que quiero escribir un nuevo script. ¿Hay alguna forma de que pueda usar mi alias petsc dentro del archivo de secuencia de comandos? ¿Hay alguna manera de que pueda editar mi .bashrc o .bash_profile para que esto suceda?

Respuesta:

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 las petsc son complejas

     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 , por lo que, en mi opinión, uno de los primeros 3 sería mejor.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım