Меня попросили демо-экспорт списка результатов команды linux в один текстовый файл. Наверху и история команд кажутся проблемными
Я пробовал
top >> christopherCollins.txt
history >> christopherCollins.txt
Возможные решения, которые у меня есть ниже:
top -b -n 5 >> christopherCollins.txt
grep -v "^#" $HISTFILE >> christopherCollins.txt
Хотя top -b -n 5 >> christopherCollins.txt, кажется, работает для получения некоторых результатов из верхней команды, интересно, есть ли что-нибудь лучше?
Когда я пытаюсь экспортировать историю, grep -v "^ #" $ HISTFILE> christopherCollins.txt работает с терминал с одним>, но когда я использую два >> в качестве метода добавления в моем bashscript, кажется, что при запуске сценария процесс останавливается. Я также подумал, что если я смогу изменить порядок добавления результатов в файл, то, когда я использую grep -v "^ #" $ HISTFILE, все выглядит плохо, я могу создать только один файл, содержащий результаты истории.
Я использую следующие команды для выполнения моего сценария.
chmod +x mybashcommands.sh
bash mybashcommands.sh
Мой полный код сценария bash, приведенный ниже, с некоторыми правками для отображения разрывов между результатами команды
#!/bin/bash
echo "" >> christopherCollins.txt
echo "date" >> christopherCollins.txt
echo "" >> christopherCollins.txt
date >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "hostname" >> christopherCollins.txt
echo "" >> christopherCollins.txt
hostname >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "arch" >> christopherCollins.txt
echo "" >> christopherCollins.txt
arch >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "uname -a" >> christopherCollins.txt
echo "" >> christopherCollins.txt
uname -a >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "uptime" >> christopherCollins.txt
echo "" >> christopherCollins.txt
uptime >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "whoami" >> christopherCollins.txt
echo "" >> christopherCollins.txt
whoami >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "who" >> christopherCollins.txt
echo "" >> christopherCollins.txt
who >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "finger" >> christopherCollins.txt
echo "" >> christopherCollins.txt
finger >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "w" >> christopherCollins.txt
echo "" >> christopherCollins.txt
w >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "top -b -n 5" >> christopherCollins.txt
echo "" >> christopherCollins.txt
top -b -n 5 >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "---------------------------------------------------------------" >> christopherCollins.txt
echo "history" >> christopherCollins.txt
echo "" >> christopherCollins.txt
grep -v "^#" $HISTFILE >> christopherCollins.txt
echo "" >> christopherCollins.txt
echo "END------------------------------------------------------------" >> christopherCollins.txt