gpt4 book ai didi

java - 将windows bat文件翻译成linux shell脚本

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:57 25 4
gpt4 key购买 nike

这是我的确切批处理文件。我试图通过在线研究将其转换为错误

"Failed to execute child process "/home/pi/Desktop/TeachVal/TeachValLinuxShell" (No such file or directory)

echo off
cls
echo Running TeachVAL II...
set path=%path%;/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/bin
java -classpath comm.jar;Robot.jar;TeachVAL TeachVAL
cls
exit

这是我翻译的尝试。

#!/bin/bash
set +v
clear
echo "Running TeachVAL II..."
java -cp ".dir1;dir2;path/home/pi/Desktop/TeachVAL/comm.jar;
path/home/pi/Desktop/TeachVAL/Robot.jar;/home/pi/Desktop/TeachVAL/TeachVAL"
clear
exit

最佳答案

欢迎使用 Linux——这里的生活很美好,但与 Windows 相比,有一些工作方式略有不同。

一个区别是 Windows 使用分号 (;) 来分隔路径列表中的条目,而 Linux 使用冒号 (:) 来分隔路径列表中的条目。

因此,Windows 命令:

java -classpath comm.jar;Robot.jar;TeachVAL TeachVAL

在 Linux 上对应于此:

java -classpath comm.jar:Robot.jar:TeachVAL TeachVAL

一般来说,在 Linux 上,分号用于将多个命令行放在一行中。一旦你了解了这一点,我想你就能理解为什么:

java -cp .dir1;/home/pi/Desktop/TeachVAL/TeachVAL

将等同于:

java -cp .dir1
/home/pi/Desktop/TeachVAL/TeachVAL

这将运行 java(没有要执行的类),然后尝试运行无法找到的“/home/pi/Desktop/TeachVAL/TeachVAL”。

还有很多差异需要学习;这是一个可以帮助您入门的页面:http://tldp.org/LDP/abs/html/dosbatch.html

关于java - 将windows bat文件翻译成linux shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46007825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com