Как запустить файл с параметром linux

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

Как сделать скрипт с параметрами для запуска

Модератор: Bizdelnick

Как сделать скрипт с параметрами для запуска

Сообщение ForSer » 12.03.2016 11:29

Добрый день, возможно глупый вопрос, но ответа я на него толком не нашел.
Есть CentOS 7 есть директория в которой лежит jar файл, мне нужно запустить этот файл с параметрами. Запускаю через терминал java -jar имя_файла.jar параметр, все прекрасно работает. Попытался сделать скрипт, но видимо не так я понял про скрипты.
Делал следующее:
1.Создал пустой файл вида имя_файла.sh
2. Там написал

при запуске просто открывается терминал и ничего не происходит.
Просвятите как правильно написать этот скрипт, нужно просто чтобы открывался терминал запускался этот jar файл с параметром и был виден процесс работы этого java файла.

Re: Как сделать скрипт с параметрами для запуска

Сообщение Kopilov » 12.03.2016 11:45

А запускаете кликом в файловом менеджере? Если при этом запускается терминал (а не скрипт) — то проблема не в скрипте, а в каких-то настройках. По умолчанию терминал с подобными скриптами не запускается. (Что, по-моему, очень удобно. В винде любой батник неизбежно порождает чёрное окно.)

Сам скрипт полностью корректен. Протестируйте его, например, запуском из MC. Если требуется именно открытие терминала + запуск программы из графического файлового менеждера, то:
сперва разберитесь, почему запускается терминал, а не скрипт (может, вы сами крутили настройки);
потом, если нужно именно показывать данную программу в терминале — или добавьте запуск терминала в скрипт, или оберните скрипт .desktop-ярлыком с галочкой «Запускать в терминале».

Re: Как сделать скрипт с параметрами для запуска

Сообщение Bizdelnick » 12.03.2016 11:52

в консол и
вку́пе (с чем-либо)
в общем
в ообще
в течени е (часа)
нович ок
нюанс
п о умолчанию
приемл емо
пробле ма
проб овать
тра фик

Re: Как сделать скрипт с параметрами для запуска

Сообщение ForSer » 12.03.2016 12:16

Да если запускать из терминала командой sh имя_файла.sh то скрипт запускается и процесс работы java наблюдается в терминале, при двойном щелчке открывается терминал потому что установлена XFCE оболочка и если открыть свойства файла там есть пункт «открывать с помощью» и там выбран терминал. Ярлык это нужно получается создать файлик имя_файла.desktop и там прописать что то вроде :

UPDATE:
Да действительно, с помощью ярлыка получилось запустить скрипт. Спасибо за помощь

Читайте также:  Python mysql установка windows

Источник

Параметры запуска программы

С наступившим всех новым годом) С-но созрел вопрос — как указать параметры запуска определенной программы? Идея вот в чем — установил TrueCrypt, там есть параметры командной строки, для автомонтирования томов при запуске программы. Осталось только эти параметры прописать. В Windows это выглядело просто, а тут в свойствах ссылки нашел только настройку прав, имени ссылки, и программы для открытия по умолчанию.

Т.е. Мне нужно что-то типа «TrueCrypt /a /f»

Где это можно настроить и можно ли?

Вы не поняли, мне нужно прописать параметры запуска в ярлыке, по аналогии как это делается в Windows. Консоль не нужна.

А где вы Win добавляли параметры?
В строку «объект»?

В общем я так понял что вам нужно: в Linux в адресе до файла просто пишите TrueCrypt -a -f.
Не забудьте удостоверится, что в Linux’е дерективы соответствуют директивам из Win.

Спасибо, да вы правильно поняли, что мне нужно) но штука в том, что редактируется только поле имя.

Снял скриншот свойств

Кстати, и можно ли иконку ссылки тоже сменить? И есть ли разница в настройках жесткой и символьной ссылки(т.е. Я понимаю принципиальную разницу между ними, меня интересуют свойства, типа параметров командной строки или иконка)?

Вот вам статейка по ссылкам: http://habrahabr.ru/post/99746/
Изменить иконку можно кликнув по ее изображению в свойствах.

Вам надо не ссылку было сделать, а подобие ярлыка из Win наверное.(.desktop файл).
Во многих файловых менеджерах в Linux в меню п правой кнопке можно перейти в раздел «создать» и там выбрать пункт «ярлык». Вот при его создание в строке адреса до объекта можно будет просто указать TrueCrypt -a -f.

Источник

Как запустить программу на Linux

По сути операционная система состоит из ядра и огромного набора программ, которые предназначены для выполнения различных задач, обслуживания системы и удовлетворения потребностей пользователя. Почти все взаимодействие пользователя и операционной системы выполняется с помощью программ. Поэтому новичкам важно понять как запустить программу на Linux, что происходит во время запуска и какие есть способы запуска.

Дальше мы рассмотрим виды программ, их запуск программ на Linux различными способами и другие полезные для новичков вещи, опытным пользователям это все и так уже известно.

Виды программ в Linux

Перед тем, как мы перейдем к запуску программ, нужно сначала понять что представляет из себя программа. В Linux программы отличаются от других файлов только тем, что для них установлен флаг исполняемости. Я уже подробно писал об этом в статье что такое исполняемость поэтому не буду повторяться.

Все программы можно поделить на несколько типов:

  • Бинарные программы — содержат инструкции процессору уже готовые к выполнению, большинство программ находятся в таком формате, они быстрые и выполняются сразу же системой;
  • Программы на байт-коде — это уже не процессорные инструкции, а инструкции определенной виртуальной машины, которая может их выполнять, без виртуальной машины такие команды не могут быть выполнены. Такие программы потребляют больше ресурсов, но тоже достаточно быстрые, их преимущество в том, что они могут выполняться без изменения везде где может работать виртуальная машина. К таким программам можно отнести программы на Java.
  • Скриптовые программы — эти программы состоят из набора команд в виде обычного текста, которые выполняет специальный интерпретатор. Такие программы более медленные, но зато они проще в разработке и их код можно легко и быстро изменить.
Читайте также:  X air edit mac os

А теперь перейдем к запуску программ.

Запуск программ в терминале

Изначально в операционных системах Unix и Linux не было графического интерфейса, поэтому программы запускались командами из терминала. Сейчас это тоже возможно и достаточно активно используется опытными пользователями. Синтаксис запуска программы выглядит таким образом:

Параметры указываются только, когда они нужны, но всегда оболочка должна знать полный путь к программе. Все что после имени программы и пробела — это параметры. Вы, наверное, уже заметили, что обычно мы не указываем полный путь при выполнении программ. Это было бы очень долго и неудобно.

Разработчики придумали обходной путь. Была создана переменная PATH, в которой хранятся все пути к папкам где обычно находятся программы — /bin, /sbin, /usr/bin, /usr/sbin и так далее. Вы можете посмотреть ее содержимое командой:

Когда вы набираете имя программы система ищет исполняемый файл с таким именем по всем папкам из PATH и если находит — то выполняет. Если же такого файла нет, то выдается сообщение — command not found. Таким образом, чтобы запустить одну из системных программ достаточно набрать имя ее исполняемого файла, например:

И можно передать параметры после пробела:

Когда программа находится не в этих каталогах, нужно указать к ней полный путь:

Если же вы хотите запустить программу через терминал ubuntu, которая находится в текущей папке, то ситуация будет немного другой. Система выполняет только поиск по папкам из переменной PATH, в текущей директории она не ищет. Поэтому, если вы наберете имя исполняемого файла, то получите ошибку. Нужно указывать полный путь, как вы помните путь к текущей папке будет ./:

Иногда возникает необходимость передать программе, какие-либо особые переменные окружения. Например, переменная EDITOR указывает какой текстовый редактор нужно использовать по умолчанию. Вы можете указать имя переменной и ее значение перед именем команды используя синтаксис:

По умолчанию эта команда открывает настройки утилиты sudo в редакторе Vim, но с этой переменной окружения настройки откроются в редакторе nano.

Запуск программ от имени другого пользователя

Вы уже знаете как запустить программу в терминале linux, а что насчет других пользователей? В Windows достаточно часто используется запуск программ от имени администратора чтобы программа могла получить больше прав доступа в системе. В Linux для этого используется утилита sudo. Ее имя можно расшифровать как switchuserdo — изменить пользователя и выполнить. По умолчанию утилита выполняет команду от имени суперпользователя root:

Но с помощью опции -u можно выполнить программу от имени любого пользователя, зарегистрированного в системе:

Читайте также:  Как убрать режим пера windows 10

Команда whoami (кто я) выводит имя текущего пользователя.

Как запустить программу в фоне

Иногда возникает необходимость запустить долго выполняющуюся программу в терминале так, чтобы она не мешала дальше работать. Для этого можно использовать запуск программы в фоновом режиме linux:

Система выведет PID, уникальный идентификатор программы, который вы потом можете использовать чтобы закрыть ее командой kill:

Как запустить скрипт в Linux

Мы уже говорили, что программы делятся на бинарные и интерпретируемые. Раньше мы говорили только про бинарные программы. Для запуска интерпретируемых нужен непосредственно интерпретатор, к таким программам относятся написанные на таких языках, как Java, Python, Perl, Ruby, PHP, NodeJS и многих других. Синтаксис запуска такой программы отличается:

интерпретатор /путь/к/файлу/программы параметры

Разные интерпретаторы ведут себя по разному, поэтому лучше сразу указывать полный путь к программе. Python обычно подхватывает скрипты из текущей папки без указания полного пути:

А Java программы нужно запускать так:

Для файлов интерпретируемых программ флаг исполняемости необязательный, поскольку они передаются в виде параметра основной программе. Только Bash скрипты составляют исключение. Вы можете запустить скрипт интерпретатором:

Или же просто набрать путь к скрипту:

Оболочка сама определяет свои скрипты по флагу исполняемости и выполняет их. Если флаг исполняемости не установлен, то его стоит добавить:

Поэтому то и для большинства интерпретируемых программ созданы простые sh скрипты которыми их можно быстро запустить.

Запуск программ Linux в графическом интерфейсе

Намного удобнее запускать программы через графический интерфейс. Если консольные программы так запускать невозможно, то для всех графических утилит существуют ярлыки, которые вы можете найти в главном меню системы:

Кроме того, вы можете запустить программу из файлового менеджера, двойным кликом мышью, но тогда для нее обязательно должен быть установлен флаг исполняемости.

Точно так же работает запуск скриптов в графическом интерфейсе. Вы можете найти все ярлыки из меню в каталоге /usr/share/applications/. Любую программу можно запустить двойным щелчком отсюда. Но давайте посмотрим что находится внутри ярлыка, для этого откройте его в текстовом редакторе:

Кроме всего прочего, в строке Exec указана команда, которая выполняет запуск программы linux, когда вы делаете двойной клик на ярлыке. Вы можете взять один из существующих ярлыков и сделать на его основе свой. Здесь указано просто имя программы. Но важно заметить, что лучше указывать полный путь в таких местах, как ярлыки, скрипты, cron и так далее это уменьшит количество ошибок, поскольку вы не можете знать проверяет ли система в этом случае PATH или ищет программу только в текущем каталоге. Теперь вы знаете все о том как запустить программу на linux.

Выводы

В этой статье мы рассмотрели как запустить программу через терминал ubuntu или в других дистрибутивах Linux. Несмотря на то, что это кажется очень простой темой, тут есть свои интересные моменты, которые могут быть полезны. Но вы о них уже знаете. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Оцените статью