以下是我的一部分.bashrc
alias my_command="my_command -1 -2 -3"
这是我的 shell 脚本
#!/bin/sh
my_command blah blah blah
发生错误
./aa: line 2: my_command: command not found
那么,如何正确地为命令定义别名呢?
答案1
交互式 shell 中发生的两件事(别名扩展和 的来源.bashrc
)在运行脚本时不会发生。您可以尝试将以下内容添加到脚本顶部:
source ~/.bashrc # To get the alias
shopt -s expand_aliases # To allow alias expansion in your script
您可以考虑更改mycommand
为 shell 函数;这样您就不必在脚本中启用别名扩展。
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"