Модификация текстовых файлов и выполнение программ с параметрами командной строки в c # или c ++ в Linux - PullRequest
1 голос
/ 10 апреля 2010

Мне нужно создать утилиту в Suze Linux. Утилита внесет изменения в некоторые текстовые файлы, а затем использует информацию из этих текстовых файлов для программирования устройства на компьютере с использованием другого исполняемого файла, который принимает параметры командной строки.

Я свободно говорю на c #, но никогда не работал с Linux. Должен ли я потратить время на изучение Gnu C ++ или установить Mono? Как мне запустить утилиту программирования и передать ей параметры командной строки?

Ответы [ 3 ]

1 голос
/ 10 апреля 2010

Исходя из сложности вашей программы, я бы рекомендовал использовать язык сценариев, такой как Perl. Всегда полезно иметь язык сценариев в вашем наборе инструментов.

1 голос
/ 10 апреля 2010

Есть ли причина, по которой вы хотите ограничиться только C ++ или C #? Есть много вариантов, которые вы можете рассмотреть, например:

Для очень простых задач:

  • Bash : в некоторых случаях простой сценарий Bash сможет решить задачу. Передача информации от одного процесса к другому очень проста, и у вас под рукой есть возможности sed, awk и т. Д. Еще одним важным преимуществом является то, что он установлен почти везде.

Для более сложных задач вы можете попробовать язык сценариев:

  • Python : Легко учиться, приятно читать. Очень полезно для быстрого создания небольших приложений. Вы можете использовать subprocess для связи с другими процессами.
  • Ruby : Подобные комментарии к Python - хорошему языку сценариев с чистым синтаксисом.
  • Perl : Perl очень хорошо обрабатывает текст, хотя лично мне не нравится синтаксис.

Другие опции:

  • Java : ваш опыт работы с C # позволит вам быстро освоить Java, так как это очень похожий язык. Java официально поддерживается в Linux.
  • C # : Многие пользователи Linux опасаются C #, потому что он недостаточно бесплатен, но, очевидно, это не беспокоит вас. Это работало хорошо несколько раз, я попробовал это. Обратите внимание, что Mono не на 100% совместим с версией Microsoft.
  • C ++ : Для того, что вы планируете делать, я лично не рекомендовал бы C ++. Это решит задачу, хотя, и если вы уже знаете C ++, то, я думаю, стоит подумать.

Очевидно, что есть и много других подходящих вариантов.

1 голос
/ 10 апреля 2010

В C и C ++ есть system("command arguments"), который вы можете использовать для выполнения команды с помощью системного интерпретатора (то есть вы можете использовать ее, как если бы вы ввели команду в оболочке). Командная строка может быть создана во время выполнения. Я не очень знаком с C #, но если я правильно помню, вы можете использовать классы Process и ProcessStartInfo для запуска системных команд.

...