2016-12-04 25 views
0

我很难移植一个非常基本的应用程序,我使用的主要是bash,它运行在OS X终端上。端口bash脚本,可以在windows上运行的任何东西

我需要在Windows笔记本电脑上运行该程序的类似版本,所以觉得我需要基本上重写代码。我已经尝试过Linux模拟器和新的Windows 10 bash集成,尽管我用过的功能是buggy或者不起作用。简单的事情,我需要做的

例子:

export lev=/home/user/dir 
export shu=/home/user/dir 
export laptime=/home/user/dir 
export currLaptime=/home/user/dir 
export currLaptime=/home/user/dir 
export infant=/home/user/dir 

lev=1; 
shu=0; 
increments=0.5; 
cpuDelay=0.35; 


declare -a laptime=('1' '1' '1' '1' '1' '1' '1' '1' '1' '1' '1' '1' '1'); 
say "Distance?"; 
read distance infant; 
if [[ $infant == "i" ]]; then speed=5.5; else speed=6.5; fi 
echo $speed "kph"; 

n=0; 
speedCalc=$speed; 
for i in `seq 1 21`; 
do laptime[n]=$(awk "BEGIN {print ${distance}/($speedCalc/3.6); exit}"); 
    laps[n]=$(awk "BEGIN {print 60/${laptime[n]}; exit}"); 
    laps[n]=$(printf '%.0f' "${laps[n]}"); 
    let n+=1; 
    speedCalc=$(awk "BEGIN {print ${speedCalc} + 0.5; exit}"); 
done; 

turningRoundTime=$(awk "BEGIN {print ((${distance} * 0.02 - 0.29) * -5); exit}"); 
laptimeAdjustment=$(awk "BEGIN {print ${turningRoundTime}-$cpuDelay; exit}"); 


n=0; 
for i in `seq 1 21`; 
do laptime[n]=$(awk "BEGIN {print ${laptime[n]}+$laptimeAdjustment; exit}"); 
    let n+=1; 
done; 

echo "cpu delay: $cpuDelay"; 
echo "Turning round time: $turningRoundTime"; 
echo "laptime adjustment: $laptimeAdjustment"; 

for i in `seq 1 21`; 
do 
currLaptime=${laptime[lev-1]}; 
    for i in `seq 1 ${laps[lev-1]}`; 
    do 
      parallel sh ::: announceLevel.sh sleep.sh; shu=$((shu+1)); 
    done 
lev=$((lev+1)); shu=0; 

觉得我准备回去划伤和另一种语言,一个可以被制作成一个应用程序中创建这个可能在Windows上运行,或者在未来运行Android。它在我在OS X上设置的环境上运行得非常好,但我只需要指出如果要在其他任何环境中运行该向哪个方向发展。

非常感谢!

尼克

+0

尝试http://www.batsh.org –

回答

0

你有没有在Windows下试过Cygwin? (GPL/LGPL/etc/Open Source)。默认的mintty cygwin终端仿真器工作得很好。你可以得到BASH和其他你需要的东西。

+0

感谢您的建议,我尝试了Cygwin,但对于我正在构建的脚本类型来说太慢了。最后,我去了Upwork.com,并设法将创建这个任务的工作外包出去,然后开发成一个在Qt中使用C++的GUI应用程序,它像梦一样运行! – user2742630

相关问题