我是 bash 的新手,所以如果这是一个愚蠢的问题,请多多包涵:
我实际上想在 shell 中输入的是这样的:
javac -classpath "emarket.jar" Testclient.java -Xlint:unchecked
事实是,如果我手动将上面的行输入到 bash 中,它会毫无错误地执行。 但是,如果我像这样在 .bashrc 中制作自定义函数:
function compile() { 'javac -classpath "emarket.jar" '$@'.java -Xlint:unchecked';}
然后在 bash 中发出这个命令:
compile Testclient
它得到一个错误说:
bash: javac -classpath "emarket.jar" Testclient.java -Xlint:unchecked: command not found
我认为 .bashrc 中的函数 compile() 应该在 bash 中生成相同的命令,但我真的无法通过这个,有人可以帮助我吗?非常感谢!
最佳答案
删除整个命令周围的单引号,并在 $@
周围使用双引号
function compile() {
javac -classpath "emarket.jar" "$@".java -Xlint:unchecked;
}
参见 here用于引用变量示例。
关于linux - Bash shell 函数错误 : command not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2414374/