настроить запуск Linux на передаваемые переменные - PullRequest
0 голосов
/ 23 сентября 2011

Я обнаружил, что могу использовать что-то, называемое пусковой установкой в ​​Linux, щелкнув правой кнопкой мыши на рабочем столе.

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

Я предполагаю, что я должен поставить значения после пути к программе - перед ними, но я не уверен в том, что я делаю.

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

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

Можно ли настроить его так, чтобы программа не знала, сколько переменных приходит при запуске, но будет читать столько, сколько получает.

я использую c ++.

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

Если я правильно помню, запуск терминала - это что-то вроде

rxvt -backspacekey  -sl 2500 -tn msys -geometry 80x25 -e 'script.sh -param' --login -i

-e команда arg ... команда для выполнения

Итак, создайте файл с именем myApp.sh (в значительной степени эквивалентный .bat в Windows)

введите следующее:

!/bin/sh
rxvt -geometry 80x25 -e 'yourExecutableName yourCommandLine' --login -i

После сохранения просто наберите chmod + x в файле (поэтому Linux будет считать его исполняемым)

chmod +x myApp.sh

После этого вы можете запустить его из любого места на вашем компьютере (если каталог находится в переменной окружения PATH) или с помощью двойного щелчка в Gnome File Manager.

Если вам нужно передать аргументы и в оболочку, вы можете получить доступ к каждому параметру с помощью $ 0, $ 1, $ 2 (эквивалентно% 1,% 2 в пакете MS).

Для командных строк программа на C / C ++ обычно запускается с функцией main

int main (int argc, char ** argv) {
  exit(0);
}

argc - это количество аргументов, полученных во входных данных, в то время как argv - это указатель на массив char * (фактическая командная строка), вы можете анализировать их напрямую.

PS: обратите внимание, что я использую rxvt, вы, вероятно, захотите изменить его на xterm o gterm или любой другой терминал, который вы предпочитаете использовать.

0 голосов
/ 23 сентября 2011

Вам не нужен С ++ для этого.По сути, вы делаете это почти так же, как и в Windows, но точные детали зависят от используемого вами оконного менеджера (Gnome, KDE и т. Д.).Информация о программе передается на главную через argv (я думаю, это также предпочтительный способ получить ее в Windows).У вас нет доступа к необработанной командной строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...