shell script

Fórumok

Segítséget szeretnék kérni egy windowsos kötegelt fájl linuxossá tételére.
A cél az lenne hogy a warcraft3 továbbra is fusson cd nélkül az új 1.21 -es patch-el.
A windowsos:

cat War3ROC\ 121\ NO-CD\ Release.cmd

FOR /F "skip=2 usebackq tokens=3 delims= " %%i IN (`reg query "HKCU\Software\Blizzard Entertainment\Warcraft III" /v InstallPath`) DO set InstallPath=%%i
cd "%InstallPath%"
ren "Warcraft III.exe" Warcraft_III.exe
ren war3.exe war3.121
ren war3_exe war3.exe
start /w Warcraft_III.exe
ren war3.exe war3_exe
ren war3.121 war3.exe

Amit összetákoltam linuxhoz, és természetesen nem működik:

#!/bin/sh
mv Warcraft III.exe Warcraft_III.exe && //
mv war3.exe war3.121 && //
mv war3_exe war3.exe && //
wine Warcraft_III.exe && //
mv war3.exe war3_exe && //
mv war3.121 war3.exe && //
mv Warcraft_III.exe Warcraft III.exe &

Sejtem hogy nem így kéne, de sajnos nem vagyok túl okos héjprogramozás ügyben.
Akinek esetleg van rá egy pici ideje legyenolyszíves..

Hozzászólások


#!/bin/sh
mv Warcraft\ III.exe Warcraft_III.exe && //
mv war3.exe war3.121 && //
mv war3_exe war3.exe && //
wine Warcraft_III.exe && //
mv war3.exe war3_exe && //
mv war3.121 war3.exe && //
mv Warcraft_III.exe Warcraft\ III.exe &

Mert a szóköz speciális karakter. Igazából nem értem, hogy ezt miért csinálja:


FOR /F "skip=2 usebackq tokens=3 delims= " %%i IN (`reg query "HKCU\Software\Blizzard Entertainment\Warcraft III" /v InstallPath`) DO set InstallPath=%%i

Ha nem működik akkor valszeg ennek a hiánya miatt.

________________________________________________
Debian 4.0 - linux-2.6.21-smp-cfs - KDE 3.5.5

talan mert a registry-t irogatja az elejen?
imho eselytelen, hogy wine alatt ezzel a scripttel menjen, hacsak meg nem talalod, hogy a wine hova rejti el a registry bejegyzeseket
azt a reszt kell atirni, es akkor talan...
amugy miert van minden sor vegen "&& //" ? ez mit csinal, illetve mit varsz tole, hogy csinaljon?

"amugy miert van minden sor vegen "&& //" ? ez mit csinal, illetve mit varsz tole, hogy csinaljon? "
Igazából semmit, csupán ha lehal valahol akkor nem áll le, kiirja a többi helyen is a hibát.
De mint mondtam egyáltalán nem biztos hogy jól gondolkozom, nem igazán vagyok penge ezügyben.

Csak egy ötlet (lehet h hülyeség). Wine alatt nem kellene lefutnia az eredeti scriptnek? Akkor legalább a registryt se kellene keresgélni...