我是bash的新手,所以如果这是一个愚蠢的问题,请耐心等待:
我真正想在shell中输入的内容是这样的:
javac -classpath "emarket.jar" Testclient.java -Xlint:unchecked
Run Code Online (Sandbox Code Playgroud)
事实是,如果我手动将上面的行键入bash,它就会执行而不会出错.但是,如果我在.bashrc中制作一个自定义函数,如下所示:
function compile() { 'javac -classpath "emarket.jar" '$@'.java -Xlint:unchecked';}
Run Code Online (Sandbox Code Playgroud)
并在bash中发出此命令:
compile Testclient
Run Code Online (Sandbox Code Playgroud)
它有一个错误说:
bash:javac -classpath"emarket.jar"Testclient.java -Xlint:unchecked:command not found
我认为.bashrc中的函数compile()应该在bash中生成相同的命令,但我真的无法解决这个问题,任何人都可以帮助我吗?提前谢谢了!
删除整个命令周围的单引号,并使用双引号 $@
function compile() {
javac -classpath "emarket.jar" "$@".java -Xlint:unchecked;
}
Run Code Online (Sandbox Code Playgroud)
请参阅此处以引用变量示例.