什么是Windows bash模拟到Linux sh文件下载?

我尝试将Linux安装脚本移植到Windows。 在脚本中我有文件下载

ASL_DISTRO_SITE=surfnet.dl.sourceforge.net BOOST_NAME=boost_1_44_0 BOOST_VERSION=1.44.0 if [ ! -e $BOOST_DISTRO_NAME ]; then echo_run ${CURL_CMD} http://$ASL_DISTRO_SITE/project/boost/boost/$BOOST_VERSION/$BOOST_DISTRO_NAME -o $BOOST_DISTRO_NAME fi 

如何将这部分脚本移植到windows .bat语言中? 有没有默认来自MS的任何使用情况?

在你提供的代码中似乎有一些缺失的项目,但这里是如何进行的最佳猜测:

 set ASL_DISTRO_SITE=surfnet.dl.sourceforge.net set BOOST_NAME=boost_1_44_0 set BOOST_VERSION=1.44.0 set BOOST_DISTRO_NAME = xxxx? set CURL_CMD="c:\program files\curl\curl.exe" ??? cd %BOOST_BASE_DIR% if NOT EXISTS %BOOST_DISTRO_NAME% ( %CURL_CMD% ^ http://$ASL_DISTRO_SITE/project/boost/boost/%BOOST_VERSION%/%BOOST_DISTRO_NAME% ^ -o %BOOST_DISTRO_NAME% ) 

我没有一个简单的方法来测试它,所以如果它不起作用,删除打开和关闭的parens和延续字符'^',并将所有的%CURL_CMD% ...命令放在同一行作为if NOT EXISTS ...

所以,你需要为BOOST_BASE_DIR(我已经添加了一个var到脚本),BOOST_DISTRO_NAME,CURL_CMD ….以及…你需要找出你是否需要echo_run ,我不这么认为。 对于echo_run ,你必须看看你的原始脚本。 我猜想这是一个定义的函数,那就是使用eval 。 如果这是真的,以上可能无法正常工作。 做一个没有IF NOT测试的bat文件,但是用所有的set ...变量和%CURL_CMD% ,运行它,然后向上面的问题添加失败的输出;-)

我希望这有帮助。

从这里下载Windows的cURL