
Aqui está uma parte da minha.bashrc
alias my_command="my_command -1 -2 -3"
e é meu script de shell
#!/bin/sh
my_command blah blah blah
Ocorre em erro
./aa: line 2: my_command: command not found
Então, como definir aliases para o comando da maneira certa?
Responder1
Duas coisas que acontecem em shells interativos (expansão de aliases e origem de seu .bashrc
) não ocorrem quando você executa um script. Você pode tentar adicionar o seguinte no topo do seu script:
source ~/.bashrc # To get the alias
shopt -s expand_aliases # To allow alias expansion in your script
Você pode considerar mudar mycommand
para uma função shell; então você não precisaria ativar a expansão de alias em seu script.
mycommand () {
my_command -1 -2 -3 "$@"
}
Responder2
alias my_command="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/java"
Depois deste tipo
source .bashrc
Depois de digitar source .bashrc
você está recebendo algum erro?
Responder3
Se sua intenção é usar uma versão específica do Java, você pode querer definir JAVA_HOME
e definir PATH
a variável de acordo.
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
Se se trata apenas de definir um alias, então a sintaxe que você usou está correta (é claro, com alguns comandos válidos)
alias lm="ls -l"