Когда я запускаю его logadm
на своем компьютере с Solaris 10, я получаю exe status - 1
.
Моя цель — запустить команду с помощьюexe status - 0
Что мне нужно сделать, чтобы logadm
успешно запустить его и получить exe status – 0
?
star1a:/ ROOT > /usr/sbin/logadm -rv hw-alarms_2
# loading /etc/logadm.conf
# processing logname: hw-alarms_2
# /etc/logadm.conf unchanged
star1a:/ ROOT > echo $?
1
решение1
Если hw-alarms_2
имя журнала не определено, вы не сможете получить код завершения 0 с помощью используемой вами команды.
Ваша команда
logadm -rv hw-alarms_2
просит удалить записи, соответствующие имени журнала, hw-alarms_2
из файла /etc/logadm.conf.
Статус выхода 1
говорит вам, что произошла ошибка. Подробный вывод говорит, что /etc/logadm.conf unchanged
это, скорее всего, потому, что у вас не hw-alarms_2
определено имя журнала.
Вы ведь понимаете, что -r
опция logadm удаляет указанное имя журнала из logadm.conf?
-р
Удалите все записи, соответствующие указанному имени журнала, из файла /etc/logadm.conf.
Таким образом, после успешного выполнения команды она больше не будет выполняться, пока вы не удалите имя журнала или не вернете исходное.
например, добавьте запись в logadm.conf
logadm -C2 -w mylog /my/really/long/log/file/name
удали это
logadm -rv mylog
# loading /etc/logadm.conf
# processing logname: mylog
# writing changes to /etc/logadm.conf
echo $?
0
Теперь попробуйте удалить его снова.
logadm -rv mylog
# loading /etc/logadm.conf
# processing logname: mylog
# /etc/logadm.conf unchanged
echo $?
1
Мы не можем, потому что мы его ранее удалили. Так что давайте добавим его обратно
logadm -C2 -w mylog /my/really/long/log/file/name
и удалить его снова
logadm -rv mylog
# loading /etc/logadm.conf
# processing logname: mylog
# writing changes to /etc/logadm.conf
echo $?
0
Бинго!