web-dev-qa-db-fra.com

Quel est l'équivalent Linux des fichiers de commandes Windows?

J'ai un fichier de commandes que j'utilise pour créer un fichier .apk sur ma machine Windows. Maintenant, je dois pouvoir créer le fichier .apk dans Ubuntu, mais je ne sais pas comment traduire mon fichier .bat en un script pour pouvoir l'exécuter sur Ubuntu.

Vous trouverez ci-dessous le fichier de commandes qui fonctionne correctement sous Windows. Voulez-vous s'il vous plaît me donner quelques conseils sur la façon dont je peux l'exécuter sur Ubuntu?

@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
14
Peyman

Vous devez apprendre à écrire des scripts bash. C’est l’équivalent Linux des fichiers de commandes Windows. La syntaxe n'est pas trop difficile à comprendre. Je suggère de googler car il y a beaucoup de bons tutoriels librement accessibles.

Je suggère Programmation BASH - Introduction HOW-TO

Notez que vous devrez modifier vos chemins de style Windows en style Linux. Par exemple.

my_drive_letter:\my_folder\myfile

devient

/media/my_drive_label/my_folder/my_file
9
user65075

Assurez-vous d’avoir installé wine Install wine , puis exécutez la commande suivante dans un terminal:

wine cmd

Cela ouvrira une invite de commande Windows. Commencez votre .bat à partir de là.

3
caela

Apprendre le python

Vous voudrez peut-être apprendre le python .

C'est facile à apprendre et plus lisible que certains autre langage de script ... ;-)

3
MadMike

Je ne peux pas vous aider avec le recodage, mais un document explique le fonctionnement des scripts Shell et les commandes à utiliser. J'imagine qu'il devrait être judicieux de réécrire votre script:

http://linuxcommand.org/writing_Shell_scripts.php

1
Mrokii