簡體   English   中英

將Windows bat文件轉換為linux shell腳本

[英]Translating windows bat file to linux shell script

這是我確切的批處理文件。 我嘗試在線進行研究將其轉換為錯誤

“無法執行子進程” / home / pi / Desktop / TeachVal / TeachValLinuxShell”(沒有此類文件或目錄)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM