1

Доброе утро,
Мои коллеги создали сценарий, который выполняет команды компиляции на машинах под управлением UNIX и Linux. Чтобы выполнить этот сценарий, Eclipse должен быть установлен на этом компьютере.

Теперь я столкнулся с машиной, на которой Eclipse не может быть установлен, мои коллеги передали мне результаты compile.log, который выглядит следующим образом:

g++ <options> ../<filename1.c>
g++ <options> ../<filename2.c>
...

Почему это проблема?
Ну, «filename1.c» и «filename2.c» не находятся в одном и том же каталоге: при регистрации команд компиляции кажется, что команды компиляции регистрируются, но не команды «cd 'new directory'», что означает что почти для каждого файла (их более 6000) мне нужно выяснить, в каком каталоге они находятся.

Чтобы решить эту проблему, я хотел бы попросить моих коллег, чтобы команды "cd" также присутствовали в лог-файлах, и лучший способ, который я могу себе представить, это просто иметь все команды в compile.log. Поэтому мне нужна конфигурация, которая делает следующее при вводе команды:

<prompt> <command_to_execute>
<prompt_result> <command_to_execute>
<prompt_result> <command_result>

в то время как в настоящее время у меня есть:

<prompt> <command_to_execute>
<prompt_result> <command_result>

Кто-нибудь знает, как это сделать? (Судя по всему, система Linux - это Ubuntu, и изменять команды невозможно, только компьютер, на котором они выполняются)

2 ответа2

1

Вы можете попробовать использовать acct sudo apt-get install acct . Затем используйте команду lastcomm $USER .

Изменить извинения за расплывчатость @ music2myear. Пакет acct представляет собой систему учета процессов. В пакете есть команды ac и lastcomm. lastcomm показывает команды, зарегистрированные инструментом для команд, ранее выполненных пользователями в системе.

Не уверен, даст ли он вам именно то, что вы ищете, но кажется, что вам нужно взглянуть на какие-то инструменты аудита, чтобы отслеживать, что делают ваши пользователи. Вот несколько ссылок для получения дополнительной информации http://www.tldp.org/HOWTO/Process-Accounting/pasetup.html и http://www.tldp.org/HOWTO/pdf/Process-Accounting.pdf

Надеюсь это поможет.

0

Вы можете просто направить файл истории в новый внешний файл с помощью:

echo $ HISTFILE >> output-001.txt

Это ответ на ваш вопрос? Дай мне знать. Командная строка выше, конечно, может быть использована в скрипте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .