Решено: Передача параметров как аргументы консоли

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

DIEZ
Сообщения: 9
ОС: Windows

Решено: Передача параметров как аргументы консоли

Сообщение DIEZ »

знатоки, помогите))

спрашивал у многих никто так толком и не ответил, может вы поможете:

у меня openSUSE 10.2

есть файл 1.exe

и есть три параметра - 1, 2 и 3 (числа)

подскажите синтаксис передачи этих параметров, как аргументов командной строки, при использовании ф-ции exec()

З.Ы. и вообще, если не трудно... есть ли разница в синтаксисе, если к примеру там не числа, а строка, или массив?
Спасибо сказали:
Аватара пользователя
Tok
Сообщения: 56
ОС: Debian GNU/Linux 4.01r

Re: Решено: Передача параметров как аргументы консоли

Сообщение Tok »

Нехрина не понял :wacko: Что ты хоч зделать скажи точно?
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Решено: Передача параметров как аргументы консоли

Сообщение Uncle_Theodore »

DIEZ писал(а):
29.11.2007 00:31
знатоки, помогите))

спрашивал у многих никто так толком и не ответил, может вы поможете:

у меня openSUSE 10.2

Хорошо.
есть файл 1.exe

Допустим. Надо полагать, это не виндозный исполняемый файл, а что-то, что Вы собираетесь запустить под Линуксом. Кстати, что это за файл?
и есть три параметра - 1, 2 и 3 (числа)

Хорошо.
подскажите синтаксис передачи этих параметров, как аргументов командной строки, при использовании ф-ции exec()

Где Вы собрались использовать функцию exec()? В Сяшном коде? Смотрите man exec, достаточно понятно написано. А при чем тут Ваш исходный файл? Это ему Вы собрались передавать параметры?
З.Ы. и вообще, если не трудно... есть ли разница в синтаксисе, если к примеру там не числа, а строка, или массив?

Массив в командной строке?
man exec
Спасибо сказали:
DIEZ
Сообщения: 9
ОС: Windows

Re: Решено: Передача параметров как аргументы консоли

Сообщение DIEZ »

ну что непонятного?
есть три числа 1, 2 и 3
есть экзешник 1.exe, который запускается функцией ехес()
как должен выглядеть сам код?!
т.е. к примеру если не передавать параметры то она будет выглядеть так:
execlp("1.exe", 0);

0 ставится потому что нету параметров
а если они есть то как эта строка должна выглядеть?
Спасибо сказали:
Аватара пользователя
sergeyvp
Сообщения: 807
ОС: ubuntu

Re: Решено: Передача параметров как аргументы консоли

Сообщение sergeyvp »

DIEZ писал(а):
29.11.2007 00:46
есть экзешник 1.exe, который запускается функцией ехес()

А как вы вобще собрались исполнять экзешник в линуксе?
Спасибо сказали:
DIEZ
Сообщения: 9
ОС: Windows

Re: Решено: Передача параметров как аргументы консоли

Сообщение DIEZ »

sergeyvp писал(а):
29.11.2007 00:49
DIEZ писал(а):
29.11.2007 00:46
есть экзешник 1.exe, который запускается функцией ехес()

А как вы вобще собрались исполнять экзешник в линуксе?

да блин. неужели так трудно понять? я не его исполняю. я пишу скрипт, в котром прописано что будет запущено выполнение этого файла, с этими параметрами.
в самом скрипте для этого нужно использовать функцию exec()
так вот как она должна выглядеть?
Спасибо сказали:
Аватара пользователя
sergeyvp
Сообщения: 807
ОС: ubuntu

Re: Решено: Передача параметров как аргументы консоли

Сообщение sergeyvp »

DIEZ писал(а):
29.11.2007 00:58
да блин. неужели так трудно понять? я не его исполняю. я пишу скрипт, в котром прописано что будет запущено выполнение этого файла, с этими параметрами.
в самом скрипте для этого нужно использовать функцию exec()
так вот как она должна выглядеть?

когда напишите скрипт который запускает экзешник в линуксе обязательно покажите мне, я очень хочу посмотреть на это!
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Решено: Передача параметров как аргументы консоли

Сообщение Uncle_Theodore »

DIEZ писал(а):
29.11.2007 00:58
да блин. неужели так трудно понять? я не его исполняю. я пишу скрипт,

Скрипт на bash'е? Тогда при чем тут exec() c Сяшным синтаксисом, который Вы привели выше?
в котром прописано что будет запущено выполнение этого файла, с этими параметрами.
в самом скрипте для этого нужно использовать функцию exec()
так вот как она должна выглядеть?

В bash'е это просто

exec 1.exe 1 2 3
Спасибо сказали:
DIEZ
Сообщения: 9
ОС: Windows

Re: Решено: Передача параметров как аргументы консоли

Сообщение DIEZ »

sergeyvp писал(а):
29.11.2007 01:05
DIEZ писал(а):
29.11.2007 00:58
да блин. неужели так трудно понять? я не его исполняю. я пишу скрипт, в котром прописано что будет запущено выполнение этого файла, с этими параметрами.
в самом скрипте для этого нужно использовать функцию exec()
так вот как она должна выглядеть?

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

это не экзешник по своей сути
а просто прога которая была написана и так названа
ладно пусть он называется не 1.exe а к примеру 1.hz
вот
Спасибо сказали:
DIEZ
Сообщения: 9
ОС: Windows

Re: Решено: Передача параметров как аргументы консоли

Сообщение DIEZ »

Uncle_Theodore писал(а):
29.11.2007 01:10
Скрипт на bash'е? Тогда при чем тут exec() c Сяшным синтаксисом, который Вы привели выше?
В bash'е это просто

exec 1.exe 1 2 3

хорошо, тогда такой вопрос: а такой синтаксис который был приведен мной, он вообще в скриптах не используется?
Спасибо сказали:
Аватара пользователя
sergeyvp
Сообщения: 807
ОС: ubuntu

Re: Решено: Передача параметров как аргументы консоли

Сообщение sergeyvp »

DIEZ писал(а):
29.11.2007 01:16
это не экзешник по своей сути
а просто прога которая была написана и так названа
ладно пусть он называется не 1.exe а к примеру 1.hz
вот

Ну так, а что же вы в заблуждение вводите!? :)
Пора переходить на линуксовую терминологию :)
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Решено: Передача параметров как аргументы консоли

Сообщение Uncle_Theodore »

DIEZ писал(а):
29.11.2007 01:23
Uncle_Theodore писал(а):
29.11.2007 01:10
Скрипт на bash'е? Тогда при чем тут exec() c Сяшным синтаксисом, который Вы привели выше?
В bash'е это просто

exec 1.exe 1 2 3

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

Насколько я знаю, в bash'е -- нет. Да и в других известных мне шеллах -- тоже, вроде все в этом отношении, как у bash'а...
Спасибо сказали:
DIEZ
Сообщения: 9
ОС: Windows

Re: Решено: Передача параметров как аргументы консоли

Сообщение DIEZ »

а есть разница в том, как стоит сам линукс?
дело в том что я его запускаю через VMWare Player...
Спасибо сказали:
Аватара пользователя
Tok
Сообщения: 56
ОС: Debian GNU/Linux 4.01r

Re: Решено: Передача параметров как аргументы консоли

Сообщение Tok »

Нет, VMWare это виртуальная машина, хотите туда мак поставьте хоть........ Хотя теоретически, где-то читал что типа в ВМ система себя может вести не предсказуемо, но а так вообще разницы нет разве в скоросте, в возможностях
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Решено: Передача параметров как аргументы консоли

Сообщение Uncle_Theodore »

DIEZ писал(а):
29.11.2007 02:04
а есть разница в том, как стоит сам линукс?
дело в том что я его запускаю через VMWare Player...

Какая может быть разница в том, как стоит сам Линукс?
То, что Вы привели -- сяшный exec(), он описан в man exec и используется в коде на языке C.

Tok писал(а):
29.11.2007 02:11
Нет, VMWare это виртуальная машина, хотите туда мак поставьте хоть........ Хотя теоретически, где-то читал что типа в ВМ система себя может вести не предсказуемо, но а так вообще разницы нет разве в скоросте, в возможностях

Хотел бы я еще знать, о чем это Вы...
Спасибо сказали:
DIEZ
Сообщения: 9
ОС: Windows

Re: Решено: Передача параметров как аргументы консоли

Сообщение DIEZ »

то есть с точки зрения просто кода С выражение

execlp("1.hz" "1" "2" "3", 0);

правильное?
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Решено: Передача параметров как аргументы консоли

Сообщение Uncle_Theodore »

DIEZ писал(а):
29.11.2007 02:32
то есть с точки зрения просто кода С выражение

execlp("1.hz" "1" "2" "3", 0);

правильное?

Нет. Ноль в конце лишний. И запятые нужны между "1", "2" и "3"... И вообще...
Наберите в терминальчике man exec , там все написано.
Спасибо сказали:
Аватара пользователя
Goodvin
Ведущий рубрики
Сообщения: 4333
Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Решено: Передача параметров как аргументы консоли

Сообщение Goodvin »

<offtop mode on>
Можно делать ставки на то, участся ли Дяде Федору заставить автора набрать man exec.
Ставлю стакан красного и огурец.
<offtop mode off>
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Решено: Передача параметров как аргументы консоли

Сообщение drBatty »

DIEZ, возможно вас man'ы запутали? exec есть и в bash скриптах, и в программах на Си, и к тому и к другому разные man'ы. Например man 3 exec у меня выдаёт справку по Си. Подробнее см. man man.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
DIEZ
Сообщения: 9
ОС: Windows

Re: Решено: Передача параметров как аргументы консоли

Сообщение DIEZ »

drBatty писал(а):
29.11.2007 11:32
DIEZ, возможно вас man'ы запутали? exec есть и в bash скриптах, и в программах на Си, и к тому и к другому разные man'ы. Например man 3 exec у меня выдаёт справку по Си. Подробнее см. man man.

огромное спасибо, наконец то разобрался)))
Спасибо сказали: