Я совершенно новичок в написании сценариев, но я устал от компиляции собственного нативного кода для Android вручную, поэтому я написал небольшой сценарий .sh и файл .bat для запуска этого сценария в cygwin.Оба файла помещаются в корень проекта, в файле .sh устанавливается каталог NDK, а затем, запуская файл .bat, я компилирую свой собственный код.
Проблема в том, что я хочу это сделатьдинамически, поэтому я использую% CD%, чтобы получить текущий каталог (который должен быть папкой проекта) и запустить файл .sh в этом каталоге.
Вот оба файла:
.bat:
@echo off
::Used to surpess a warning about dos directory format.
set CYGWIN=nodosfilewarning
C:\cygwin\bin\bash --login -i %CD%\./compile.sh
pause
.sh:
#!/bin/bash
#Run this script through compileNative.bat This will compile the native code of this Project
#IF this file is changed under windows use "tr -d '\r' < edited.sh > final.sh " to remove the bad line endings.
#Keep both this and the .bat file in the project root.
# Set this to the base NDKDir
NDKDIR=C:/Android/NDK/
#Get the base dir so we can change the directory to the base dir.
BASEDIR=`dirname $0`
echo
echo Compiling Native code. Refresh Workspace after this is done!
echo
#Change to the directory of the project, change this is if the project movies.
cd $BASEDIR
#Run the ndk build file. Change this to the correct location.
$NDKDIR./ndk-build
Когда я открываю файл .bat из папки в Windows, он работает очень хорошо.Когда я запускаю его из затмения, кажется, что% CD% дает мне «C: / Eclipse».Больше всего меня раздражает тот факт, что он работал все утро, но вдруг он начал это делать.
Так что мой вопрос в том, неправильно ли я использую% CD%, или почему это может произойти.Очевидно, это не большая драма.Но это небольшая досадная проблема, которую я не могу понять.
Некоторая справка была бы отличной.