#c #bash #ubuntu
#c #баш #убунту
Вопрос:
Я использую Ubuntu для написания программ на c . Я использую файл bash для многократного запуска моей программы с использованием разных аргументов. Однако выполняется только первый запуск!
Это мой файл bash
#!/bin/bash
cd ~/Desktop/MyCodeWorkspace
g a.cpp b.cpp c.cpp main.cpp -o myProgram
./myProgram 8 0
./myProgram 8 20
./myProgram 8 40
./myProgram 8 60
Комментарии:
1. Приводит ли выполнение этого в командной строке непосредственно к желаемому результату?
2. Какой результат генерируется вашей программой и сценарием? Что делает ваша программа? Ожидает ли он ввода в какой-то момент? Вы вводите данные, когда ожидаете?
3. Действительно ли первый
./myProgram 8 0
завершается, или он просто зависает в ожидании ввода или чего-то подобного?4. Я совершенно согласен с тем, что сказал @Cedric. Этот скрипт выглядит так, как будто вы пытаетесь автоматизировать процедуру сборки и тестирования.
5. Да, желаемый результат достигнут./MyProgram 8 0 программа работает отлично, если первый и второй параметры жестко запрограммированы. Однако отправка их в виде аргументов работает только при первом запуске ./MyProgram 8 0 Да, я пытаюсь автоматизировать запуск, потому что это эксперимент по тестированию одного и того же алгоритма с использованием разных аргументов.
Ответ №1:
Вероятно, ваша программа bash застряла в первой программе. Убедитесь, что MyProgram возвращается при ее выполнении.
Комментарии:
1. Да, я удалил это, вероятно, не предполагаемое поведение
Ответ №2:
Спасибо за вашу помощь. Это моя ошибка. В конце моего основного у меня есть (int x; cin>> x), поэтому я могу приостановить работу терминала (проблема, которая внезапно возникла, и я не смог решить). Я забыл, что добавил эту строку.