testlogin
здесь не команда, а аргумент echo
. Полная команда такова:
echo testlogin: username
echo
просто выводит текст, который вы передаете ему в STDOUT. Таким образом, двоеточие не имеет особого значения, это часть дословного вывода echo
. Это результат, если вы вызываете сценарий с неправильным числом аргументов:
$ ./testlogin
testlogin: username
$ ./testlogin fred bill adam
testlogin: username
Это странный результат, но не обязательно опечатка.Обычно я ожидаю чего-то большего, например:
$ ./testlogin
Usage: testlogin username
Причина, по которой весь сценарий не работает, заключается в том, что автор допустил небольшую ошибку при вызове функции useron
и, по-видимому, не тестировал свой сценарий перед публикацией (иначе они бы заметили ту же ошибку, что и вы). $ 1
в функции useron
- это первый аргумент этой функции , а не всего скрипта; но поскольку useron
не был вызван с какими-либо аргументами, это пустая строка, и поэтому он завершает выполнение команды:
$ who | grep
, которая выдаст информацию об использовании grep
, а затем всегда запускать ветвь условия else
. Вы можете исправить это, передав первый аргумент скрипту в useron
следующим образом:
else useron $1
Второй и четвертый наборы сообщений журнала относятся к беспроводным драйверам Atheros для вашего конкретного оборудования. Они могут быть вызваны проблемами с оборудованием, но также могут быть вызваны проблемами с прошивкой. Раньше я не имел дело с вещами этого конкретного драйвера, поэтому я не могу помочь в этом.
Первый и третий наборы взяты непосредственно из подсистемы PCI -e. Оба говорят об исправленных ошибках. Я сталкивался с такими ошибками раньше и могу сказать по своему опыту, что они почти всегда указывают на какую-то аппаратную проблему (, хотя это может быть и неплохое аппаратное обеспечение ). Стандартная процедура, которую я использую, когда сталкиваюсь с ошибкой такого типа,:
С положительной стороны,вы можете быть достаточно уверены, что проблема связана либо с подсистемой PCI Express (, и, следовательно, с неисправной картой, либо с неисправной материнской платой ), блоком питания (, хотя это маловероятно, если бы это было ваше питание поставки, вы, вероятно, увидите другие симптомы )или прошивку на материнской плате.
Некоторые способы диагностики проблемы. Загрузите другую ОС и посмотрите, появляются ли те же ошибки. (проблема с программным обеспечением )Попробуйте загрузить старую ОС без некоторых карт PCI. (фурнитура )Попробуйте откатить биос и посмотреть исчезнут ли ошибки. (прошивка )Один из них устранит ошибку, и тогда вы узнаете, в какой части вашей машины возникли проблемы. Ведение списка ошибок и наблюдение за тем, какие ошибки исчезают или остаются с различными изменениями, может помочь вам диагностировать, есть ли у вас несколько проблем или только одна.Это происходит примерно в 50% случаев при загрузкеЭто заставляет меня думать, что это может быть аппаратная проблема для меня. Попробуйте открыть коробку и проверить, нет ли незакрепленных карт/кабелей. Уборка пыли или работа вашей установки в более прохладной среде окажут положительное влияние на ваш опыт. Удачи!
Самый практичный способ проверить свое оборудование — загрузить заведомо -исправное программное обеспечение. Например, старое ядро. Старая прошивка тоже подойдет — Live CD/DVD, о которых вы знаете, отлично работает.
Кроме того, проверьте свои журналы — вы уверены, что это началось всего 2 недели назад? Или вы только тогда начали это замечать?
Кроме того, по крайней мере, если этот настольный ПК (относительно легко открыть и посмотреть ), найдите минутку, чтобы визуально проверить оборудование :, все ли вентиляторы вращаются? Отсутствуют ли какие-либо радиаторы (и нет ли на радиаторах пыли/ворсинок )? Вздутые конденсаторы? Поскольку существует множество ошибок PCIe, если вы разбираетесь в оборудовании, вы также можете переустановить все карты PCIe.
[Фактическое тестовое оборудование для подтверждения наличия аппаратного сбоя, вероятно, будет стоить значительно дороже, чем просто замена компьютера.]