Kali Linux показывает странную строку кода, используя команду Bash "set"

Я установил Kali8 – это дистрибутив Debian / GNU Linux («wheezy»), и когда я использую встроенную команду Bash «set» для проверки моих vars из X, как в LXterminal, все работает нормально, но когда Я делаю это из консоли VT или SSH / Putty, я получаю несколько vars, а затем кучу строк кода – тысячи строк, которые выглядят из какого-то сценария завершения.

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

В любом случае, кто-нибудь знает, почему и как исправить факт, который печатает тысячи строк неизвестного кода сценария?

Вот пример:

root@kali:~# set BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:expand_aliases:extglob:extquote:force_fignore:interactive_comments:$ BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d BASH_LINENO=() BASH_SOURCE=() BASH_VERSINFO=([0]="4" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='4.2.37(1)-release' COLUMNS=80 COMP_WORDBREAKS=$' \t\n"\'>=;|&(:' DIRSTACK=() EUID=0 GROUPS=() HISTFILE=/root/.bash_history HISTFILESIZE=500 HISTSIZE=500 HOSTNAME=kali HOSTTYPE=x86_64 IFS=$' \t\n' LANG=en_US.UTF-8 LIBGL_DRIVERS_PATH=/usr/lib32/dri:/usr/lib64/dri LINES=24 LOGNAME=root LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;$ LS_OPTIONS='--color=auto -F' MACHTYPE=x86_64-pc-linux-gnu MAIL=/var/mail/root MAILCHECK=60 OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PIPESTATUS=([0]="1" [1]="0") PPID=10987 PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' PS4='+ ' PWD=/root SHELL=/bin/bash SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor SHLVL=1 SSH_CLIENT='192.168.10.143 10827 22' SSH_CONNECTION='192.168.10.143 10827 192.168.10.104 22' SSH_TTY=/dev/pts/1 TERM=xterm UID=0 USER=root XDG_SESSION_COOKIE=fb89d5d02d263ebdcf49f3a551dccb8b-1374307938.708154-385548377 _= __colormgr_commandlist=$'\n create-device\n create-profile\n delete-device\n delete-p$ __git_all_commands= __git_diff_common_options=$'--stat --numstat --shortstat --summary\n\t\t\t--patch-with-stat --nam$ __git_fetch_options=$'\n\t--quiet --verbose --append --upload-pack --force --keep --depth=\n\t--t$ __git_log_common_options=$'\n\t--not --all\n\t--branches --tags --remotes\n\t--first-parent --mer$ __git_log_date_formats='relative iso8601 rfc2822 short local default raw' __git_log_pretty_formats='oneline short medium full fuller email raw format:' __git_log_shortlog_options=$'\n\t--author= --committer= --grep=\n\t--all-match\n' __git_merge_options=$'\n\t--no-commit --no-stat --log --no-log --squash --strategy\n\t--commit --$ __git_merge_strategies= __git_mergetools_common=$'diffuse ecmerge emerge kdiff3 meld opendiff\n\t\t\ttkdiff vimdiff gvimd$ __git_porcelain_commands= __git_send_email_confirm_options='always never auto cc compose' __git_send_email_suppresscc_options='author self cc bodycc sob cccmd body all' __git_whitespacelist='nowarn warn error error-all fix' __grub_script_check_program=grub-script-check _backup_glob='@(#*#|*@(~|.@(bak|orig|rej|swp|dpkg*|rpm@(orig|new|save))))' _xspecs=([freeamp]="!*.@(mp3|ogg|pls|m3u)" [cdiff]="!*.@(dif?(f)|?(d)patch)?(.@([gx]z|bz2|lzma))"$ __colormgrcomp () { local all cs=' ' IFS=' '' '' '; local cur="${COMP_WORDS[COMP_CWORD]}"; if [ $# -gt 2 ]; then fi; for c in $1; do case "$c$4" in *.) all="$all$c$4$s" ;; *) all="$all$c$4 $s" ;; esac; done; IFS=$s; COMPREPLY=($(compgen -P "$2" -W "$all" -- "$cur")); return } __dconf () { local choices; ... ********... thousands of lins after... ********** ... { local userland=$( uname -s ); [[ $userland == @(Linux|GNU/*) ]] && userland=GNU; [[ $userland == $1 ]] } _variables () { if [[ $cur =~ ^(\$\{?)([A-Za-z0-9_]*)$ ]]; then [[ $cur == *{* ]] && local suffix=} || local suffix=; COMPREPLY+=($( compgen -P ${BASH_REMATCH[1]} -S "$suffix" -v -- "${BASH_REMAT$ return 0; fi; return 1 } _xfunc () { set -- "$@"; local srcfile=$1; shift; declare -F $1 &>/dev/null || { local compdir=./completions; [[ $BASH_SOURCE == */* ]] && compdir="${BASH_SOURCE%/*}/completions"; . "$compdir/$srcfile" }; "$@" } _xinetd_services () { local xinetddir=/etc/xinetd.d; if [[ -d $xinetddir ]]; then local restore_nullglob=$(shopt -p nullglob); shopt -s nullglob; local -a svcs=($( printf '%s\n' $xinetddir/!($_backup_glob) )); $restore_nullglob; COMPREPLY+=($( compgen -W '${svcs[@]#$xinetddir/}' -- "$cur" )); fi } quote () { local quoted=${1//\'/\'\\\'\'}; printf "'%s'" "$quoted" } quote_readline () { local quoted; _quote_readline_by_ref "$1" ret; printf %s "$ret" } root@kali:~# 

PS: на боковой ноте и, возможно, нераскрытой теме строка выше должна быть COMP_WORDBREAKS=$' \t\n"\'><=;|&(:' , но мне пришлось удалить < из нее, потому что она кажется, испортился с StackExchange MarkDown и HTML … если я введу эту полную строку в строку выше, она на самом деле будет отображаться как / dev / null после > и это будет мешать большинству оставшихся строк после того, как она будет отображаться на мой пост … мхмм … странно.

Определенные функции используются путем завершения bash. В Debian находится файл /etc/bash_completion , который затем /etc/bash_completion.d все файлы в /etc/bash_completion.d . Некоторые приложения командной строки устанавливают новые файлы завершения. Хорошим примером является git в вашем выходе. Он позволяет вам вставлять такие вещи, как git che[TAB] чтобы получить git checkout . Если вы не хотите расширенного завершения, просто удалите . /etc/bash_completion . /etc/bash_completion из файлов инициализации оболочки.