wget не игнорирует дубликаты, он по всей вероятности перезаписывает их. wget имеет много опций, и я не знаю обо всех них, но я не полагаю, что существует такая опция выборочно добавить суффикс для различения дублирующихся имен файлов. Необходимо создать эту функциональность сами.
такой как
# mkdir /myarchivedir
#
# mkdir /tmp/mytempdir
# cd /tmp/mytempdir
#
# i=1
# while [ $i -le 900 ]
# do
# wget http://mysite.com/somefile
# file=$(ls)
# mv $file /myarchivedir/${i}.${file}
# (( i=$i+1 ))
# done
как Вы видите, даже если переменная $file совпадет с другим прежде, так как я изменяет значение каждый раз при перемещении файла в/myarchivedir это не перезапишет дубликат, названный изображением.
Я провел для вас еще несколько исследований, и вот что я нашел - ключ к автозавершению - команда bash
complete
. Вы можете распечатать правила для vim
, используя:
complete -p vim
Аналогично вы можете удалить эти специфические правила с помощью:
complete -r vim
Эта команда сбрасывает их до значений по умолчанию - обычное заполнение путей и имен файлов без лишней логики. Скорее всего, это то, что вам нужно.
Для получения дополнительной информации обратитесь к help complete
или man bash
и ищите раздел о команде complete
(она встроена в bash, следовательно, документирована в manpage bash).
Последний пункт - вышеуказанные изменения влияют только на текущую сессию bash
, если вы хотите удалить правила vim после каждого входа, поместите complete -r vim
в вашу ~/.bashrc
.
Надеюсь, это поможет :)
. Бэшировать по умолчанию только имена путей и файлов автокомплектов по умолчанию. Однако механизм расширяемый и bash можно научить выполнять разные автозавершения для разных программ. Например, для git
может автозаполнять имена подкоманд (клонировать, коммитировать) и редактировать их, а не только патнамы. Иногда это удобно, иногда довольно раздражает - например, когда gzip -d
отказывается от автозаполнения имён файлов, не имеющих расширения .gz
.
Заполнение бэша обычно настраивается в /etc/bash_completion.d
- там, скорее всего, находится файл с расширением vim
. Это файл, содержащий правила автозавершения для командной строки vim
.
Теперь у вас есть два варианта:
vim
и выполнить только автозавершение путей по умолчанию.И, конечно же, создать сообщение об ошибке, в котором будет описана проблема, чтобы она была исправлена в будущих версиях :)
.] Возможно, вы могли бы переустановить bash-завершение :
[]apt-get install --reinstall bash-completion[
][
]И посмотрите на файл /etc/bash.bashrc:
[]nano /etc/bash.bashrc[
][
]И убедитесь, что следующая строка не закомментирована:[
] [if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
]
[]Затем перезапустите вашу терминальную сессию[
].