Это прекрасно, и немного слишком сложно
http://docs.google.com/View?docID=dhh4z6n4_96w387mqhn&revision=_latest
Удалите знак доллара в начале строки 22 и попробуйте еще раз:
COMPREPLY=( $( compgen -W '02 04 08 10' ) )
Это вызвано, кхм, синтаксической ошибкой в одном из сценариев завершения bash (в данном случае это сценарий завершения для hping2
). Когда терминал запускает программу под названием bash
для обработки сеанса терминала, bash
запускает свои сценарии инициализации, включая сценарий завершения /etc/bash_completion.d/hping2
.
По какой-то причине этот сценарий на вашем компьютере испорчен (возможно, кто-то случайно его отредактировал), что привело к синтаксической ошибке. Я думаю, что правильный способ исправить это - изменить эту строку на
COMPREPLY=( $( compgen -W '02 04 08 10' ) )
(удалить $
в начале строки).