
Вот часть моего.bashrc
alias my_command="my_command -1 -2 -3"
и это мой скрипт оболочки
#!/bin/sh
my_command blah blah blah
Это происходит в ошибке
./aa: line 2: my_command: command not found
Итак, как правильно определить псевдонимы для команды?
решение1
Две вещи, которые происходят в интерактивных оболочках (расширение псевдонимов и получение вашего источника .bashrc
), не происходят при запуске скрипта. Вы можете попробовать добавить следующее в начало вашего скрипта:
source ~/.bashrc # To get the alias
shopt -s expand_aliases # To allow alias expansion in your script
Вы можете рассмотреть возможность перехода mycommand
на функцию оболочки; тогда вам не придется включать расширение псевдонимов в вашем скрипте.
mycommand () {
my_command -1 -2 -3 "$@"
}
решение2
alias my_command="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/java"
После этого типа
source .bashrc
source .bashrc
Возникают ли какие-либо ошибки после ввода текста ?
решение3
Если вы намерены использовать определенную версию Java, то вам, возможно, захочется определить JAVA_HOME
и установить PATH
переменную соответствующим образом.
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
Если речь идет просто о настройке псевдонима, то синтаксис, который вы использовали, правильный (конечно, с некоторыми допустимыми командами)
alias lm="ls -l"