Как запустить bat файл на linux
Перейти к содержимому

Как запустить bat файл на linux

  • автор:

Как запустить bat файл на linux

I have a pretty basic problem here, that has happened so haphazardly to me that up until now, I’ve just ignored it. I downloaded tomcat web server and «Murach’s Java Servlets and JSP» book is telling me to navigate to the tomcat/bin directory and start the server my typing in Terminal

However, I get the error

The relevant files in this directory are startup.sh and startup.bat. Typing both of these returns the same error message

So my questions are, what are .bat and sh files, and how do I run these files? I’ve read several tutorials for different languages and software programs, and some times when the tutorial says execute a bunch of files in the command line, I get a «command not found» error. Sometimes it works, sometimes it doesn’t. This is perplexing to me, so what are some common solutions to solving these sort of «command not found» Terminal problems?

Как в Wine запустить файл .bat и .msi

Вы можете запустить файл .bat разными способами:

1. Выполните команду

Найдите файл .bat и запустите его двойным кликом.

2. Выполните команду

И найдите в окне Проводника нужный вам файл.

чтобы сразу попасть в нужную папку.

Когда найдёте файл .bat, то дважды кликните на него.

Например, я хочу запустить файл «С ключом ADM.bat» из папки /mnt/disk_d/Share/Conses/ConsFed/, тогда я открываю эту папку командой

И в открывшемся окне двойным кликом запускаю файл «С ключом ADM.bat».

3. Вы можете запустить файл .bat в командной строке, используя конструкцию вида:

Если вы используете путь до файла в Linux, то обязательно нужно указать опцию /unix. Например, я хочу таким образом запустить файл «With-ADM.bat» который находится в папке /mnt/disk_d/Share/Conses/ConsFed/, тогда команда следующая:

Как в Wine запустить файл .msi

Файлы MSI нельзя запускать напрямую; вам нужно использовать либо программу Wine msiexec, либо запуск Wine с терминала:

How do I create a batch file and run it? [duplicate]

should I use the text editor? the extension should be .sh or .bat?

Sange's user avatar

3 Answers 3

To create one use the .sh extension but it doesn’t really matter but it helps future users to quickly determine which file type it is. The bat name is mostly used on Windows but in Linux file name extensions do not really matter. Meaning I can call my file say run.de and it would still run in bash file but I believe it’s a good practice to name them with the .sh file extension.

For the editor, part uses any that is best for you between nano vim gedit emacs , but I believe gedit would be nice to start with.

Запустите .bat в среде Linux

Есть ли способ запустить файл .bat в среде Linux? У меня есть пара файлов .bat, их цель — вызывать сценарии mvn install:install-file. Таким образом, в сценариях нет ничего зависящего от ОС.

7 ответы

Вы можете использовать wine or dosbox , а вообще неизвестно bat интерпретатор для линукса. Есть, правда, реализации различных unix-оболочек для windows, есть даже стандартный набор инструментов, Windows Services for UNIX (также известный как SUA ), который включает в себя ksh реализация и многие другие приятные преимущества, поэтому, если вы хотите, чтобы он был прозрачным для ОС, вы можете рассмотреть возможность его использования и написать свои сценарии на языке сценариев оболочки, совместимом с POSIX.

— редактировать — С другой стороны, если ваш скрипт содержит ничего больше кроме mvn <params> , вы можете просто убедиться, что у файла есть права на выполнение ( x флаг), добавьте к нему интерпретатор оболочки (например, /bin/bash script.bat ) и попробуй. Однако успех не гарантирован.

ответ дан 01 окт ’12, 22:10

Спасибо за ответ. Скрипт использует команды set, rem, call. Они не распознаются в среде Unix. Очень жаль, что такой интерпретатор еще не создан. — Скизер

Большая загвоздка здесь в том, что пакетные файлы Windows, вероятно, используют CRLF в качестве разделителей строк, которые bash имеет причудливую тенденцию подавлять. Использовать dos2unix для преобразования из CRLF в формат CR. — Цифровая травма

Простой ответ: да, есть способ запустить его в Linux, если:

  • Команды, которые вы запускаете из .bat файл находится в $PATH на вашем Linux-боксе
  • Вы не используете специфичные для Microsoft команды файлов BATCH или управляющие структуры.

Вам нужно будет сделать файл исполняемым и, скорее всего, добавить к содержимому файла строку, которая сообщает Linux, в какой оболочке запускать скрипт. Что-то вроде этого для bash: #!/bin/bash

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *