Linux tương đương với các tệp bó của Windows là gì?


14

Tôi có một tệp bó mà tôi sử dụng để tạo tệp .apk trên máy Windows của mình. Bây giờ tôi cần có khả năng tạo tệp .apk trong Ubuntu nhưng tôi không biết cách dịch tệp .bat của mình sang tập lệnh để có thể chạy tệp đó trên Ubuntu.

Dưới đây là tệp bó hoạt động tốt trên Windows. Bạn vui lòng cho tôi vài gợi ý về cách tôi có thể chạy nó trên Ubuntu chứ?

@echo off
set PAUSE_ERRORS=0
:user_configuration

:: Path to Flex SDK 
set FLEX_SDK=C:\sdk\flex_sdk_4.5.1.21328

:: Path to Android SDK
set ANDROID_SDK=C:\sdk\android

:validation
if not exist "%FLEX_SDK%\bin" goto flexsdk
if not exist "%ANDROID_SDK%\platform-tools" goto androidsdk
goto succeed

:validation
if not exist "%FLEX_SDK%\bin" goto flexsdk
if not exist "%ANDROID_SDK%\platform-tools" goto androidsdk
goto succeed

:flexsdk
echo.
echo ERROR: incorrect path to Flex SDK
echo.
if %PAUSE_ERRORS%==1 pause
exit

:androidsdk
echo.
echo ERROR: incorrect path to Android SDK in 'bat\SetupSDK.bat'
echo.

if %PAUSE_ERRORS%==1 pause
exit

:succeed
set PATH=%PATH%;%FLEX_SDK%\bin
set PATH=%PATH%;%ANDROID_SDK%\platform-tools

:: Android packaging
set AND_CERT_NAME="PeymanApp"
set AND_CERT_PASS=fd
set AND_CERT_FILE=cert\SampleApp.p12
set AND_ICONS=icons/android

set AND_SIGNING_OPTIONS=-storetype pkcs12 -keystore "%AND_CERT_FILE%" -storepass     %AND_CERT_PASS%

:: Application descriptor
set APP_XML=application.xml

:: Files to package
set APP_DIR=bin
set FILE_OR_DIR=-C %APP_DIR% .

:: Your application ID (must match <id> of Application descriptor)
set APP_ID=air.com.doitflash.SampleApp

:: Output packages
set DIST_PATH=dist
set DIST_NAME=PeymanApp

:validation
%SystemRoot%\System32\find /C "<id>%APP_ID%</id>" "%APP_XML%" > NUL
if errorlevel 1 goto badid
goto end_validation

:badid
echo.
echo ERROR: Application ID (APP_ID) does NOT match Application descriptor '%APP_XML%'     (id)

echo.

:end_validation

set TARGET=
set PLATFORM=android

::call bat\Packager.bat
if "%PLATFORM%"=="android" goto android-config

:android-config
set CERT_FILE=%AND_CERT_FILE%
set SIGNING_OPTIONS=%AND_SIGNING_OPTIONS%
set ICONS=%AND_ICONS%
set DIST_EXT=apk
set TYPE=apk
goto start

:start
if not exist "%CERT_FILE%" goto certificate
:: Output file
set FILE_OR_DIR=%FILE_OR_DIR% -C "%ICONS%" .
if not exist "%DIST_PATH%" md "%DIST_PATH%"
set OUTPUT=%DIST_PATH%\%DIST_NAME%%TARGET%.%DIST_EXT%
:: Package

echo true
echo.
call adt -package -target %TYPE%%TARGET% %OPTIONS% %SIGNING_OPTIONS% "%OUTPUT%"     "%APP_XML%" %FILE_OR_DIR% -extdir lib/
echo.
if errorlevel 1 goto failed
goto end

:certificate
echo Certificate not found: %CERT_FILE%
echo.

if %PAUSE_ERRORS%==1 pause
exit

:failed
echo APK setup creation FAILED.

if %PAUSE_ERRORS%==1 pause
exit

:end

Câu trả lời:


9

Bạn cần học cách viết kịch bản bash. Đây là Linux tương đương với các tập tin lô windows. Cú pháp không quá khó để có được đầu óc của bạn. Tôi đề nghị googling vì có nhiều hướng dẫn tuyệt vời có thể truy cập miễn phí.

Tôi đề nghị lập trình BASH - Giới thiệu CÁCH LÀM

Lưu ý rằng bạn sẽ cần thay đổi đường dẫn kiểu windows của mình sang kiểu Linux. Ví dụ

my_drive_letter:\my_folder\myfile

trở thành

/media/my_drive_label/my_folder/my_file

3

Hãy chắc chắn rằng bạn đã cài đặt rượu vangCài đặt rượu vang , sau đó thực hiện lệnh sau trong một thiết bị đầu cuối:

wine cmd

Điều này sẽ mở ra một dấu nhắc lệnh Windows. Bắt đầu của bạn .battừ đó.



1

Tôi không thể giúp mã hóa lại nhưng có một tài liệu giải thích cách hoạt động của kịch bản lệnh shell và những lệnh bạn cần sử dụng. Tôi đoán nó sẽ rất khôn ngoan để viết lại kịch bản của bạn:

http://linuxcommand.org/wr_shell_scripts.php


Điều này nên được để lại như là một bình luận.
Alex
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.