Привет все я должен сделать программу.. Я буду действительно краток для объяснения этого... И шляпа, которую я уже сделал и что я должен сделать...
Просто, я должен сделать "средство моделирования" в Bash, которые выполняют упражнения студентов и проверяют, корректны ли они... для каждого осуществления, я должен вычислить счет и сказать, сдал ли студент экзамен или нет...
Я сделал почти все... Я думаю, что пропускаю просто некоторую строку кода для записи.. но я думаю, что они являются самыми важными также... :(
Мой сценарий является TEST.SH, и я должен выполнить осуществление студента.. осуществление является сценарием ELABORATO.SH... Теперь, у меня могут быть некоторые сценарии:
Сначала одна точка, которую действительно просто разрешить..., заражает от моего TEST.SH, который я называю ELABORATO.SH
таким образом:
. ELABORATO.SH param1 param2 param3;
Второй и третий Это более сложно мне..
Я должен считать из файла строку (и это в порядке), и передайте эту строку ELABORATO.SH
поскольку строка была от stdin.
Я должен создать файл с выводом ELABORATO.SH
... так, например, если ELABORATO.SH
произведите файл (я не знаю название выходного файла), я должен произвести файл также в другом каталоге... Как я могу сделать?
Это подозрительно походит на присвоение домашней работы*, но здесь мы идем.
Почему Вы получили бы ELABORATO.SH
сценарий? Если Вы делаете и это имеет exit
оператор или ошибки, Ваш TEST.SH
делает то же. Я не думаю, что это - то, что Вы хотите. Я просто запустил бы скрипт:
bash ELABORATO.SH param1 param2
Вы думали о перенаправлении его входа?
bash ELABORATO.SH param1 param2 < INPUT_FILE
Получать вывод ELABORATO.SH
, Ну, в общем, перенаправление, не просто кажется, сделано для этого?
bash ELABORATO.SH param1 param2 < INPUT_FILE > OUTPUT_FILE
Обнаружение, который файлы ELABORATO.SH
записи нетривиальны. (Боковая линия: если Вы не знаете его выходных файлов, то, как они могли относиться к вычислениям счета ELABORATO.SH
? Почему беспокойство для ровного перемещения их?)
Так или иначе здесь мы идем. Следующий конвейер перечисляет файлы, созданные ELABORATO.SH
:
strace bash ELABORATO.SH params < INPUT_FILE 2>&1 > OUTPUT_FILE \
| grep '^open(.*O_CREAT' | cut -d\" -f 2
Затем для перемещения их в другое место Вы могли сделать:
for f in $(
strace bash ELABORATO.SH params < INPUT_FILE 2>&1 > OUTPUT_FILE
| grep '^open(.*O_CREAT' | cut -d\" -f 2)
do
mv "$f" /path/to/elsewhere
done
*) рекомендуйте дружелюбным людям в AskUbuntu к Вашему супервизору.