假设我有一个名为 white space
的文件夹,其中包含一个名为 foo
的类文件。
在命令行上,我可以通过以下命令轻松调用 foo 程序
java -cp "white space/" foo
它会工作得很好。
我想在 Bash 中将整个命令设置为变量并调用该变量而不是整个命令本身。
所以,假设我将命令设置为以下内容
bar='java -cp "white space/" foo'
我尝试通过执行 $bar
来调用该命令,但我不断收到错误消息:
Error: Could not find or load main class space
你会如何解决这个问题?
最佳答案
不要使用变量来存储整个命令行,正是因为因为你无法容纳空格。使用数组,最好只保存选项并单独指定命令。
options=(-cp "white space/" foo)
java "${options[@]}"
或者,定义一个函数:
bar () {
java -cp "white space/" foo
}
关于java - 如何在类路径有空格的 bash 中调用 java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36872372/