
Aquí tenéis una parte de mi.bashrc
alias my_command="my_command -1 -2 -3"
y es mi script de shell
#!/bin/sh
my_command blah blah blah
Ocurre en error
./aa: line 2: my_command: command not found
Entonces, ¿cómo definir alias para el comando de la manera correcta?
Respuesta1
Dos cosas que suceden en shells interactivos (expansión de alias y abastecimiento de su .bashrc
) no ocurren cuando ejecuta un script. Podrías intentar agregar lo siguiente en la parte superior de tu script:
source ~/.bashrc # To get the alias
shopt -s expand_aliases # To allow alias expansion in your script
Podría considerar cambiar mycommand
a una función de shell; entonces no tendrías que habilitar la expansión de alias en tu script.
mycommand () {
my_command -1 -2 -3 "$@"
}
Respuesta2
alias my_command="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/java"
Después de este tipo
source .bashrc
¿Después de escribir source .bashrc
aparece algún error?
Respuesta3
Si su intención es utilizar una versión específica de Java, es posible que desee definir JAVA_HOME
y configurar PATH
la variable en consecuencia.
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/java
export PATH=$PATH:export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
Si se trata simplemente de establecer un alias, entonces la sintaxis que utilizó es correcta (por supuesto, con algunos comandos válidos)
alias lm="ls -l"