
這是我的一部分.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"