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

Вы используете Баш-завершение пакета (или его производные). Для каждого аргумента завершения кд команды (как показано на полную -Р выход):

завершить о nospace -Ф _cd компакт-диск

в _cd функция вызывается, чтобы определить доработок (немного отредактированные для краткости):

_cd()
{
 местная шавка пред'слова cword
 _init_completion || возврата

 местные компании IFS=$'\Н' И Й К

 compopt -о именах

 если [[ -з "${переменную окружения cdpath:-}" || "$шавка" == ?(.)?(.)/* ]]; тогда
 _filedir -д
 возвращает 0
интернет
....

Так, например, когда вы заполните на каталог без переменную окружения cdpath набор, последний аргумент команды видели , и это помещается автоматически в _. Есть несколько других путей кода в этой функции с аналогичными побочными эффектами.

С _ - это Баш внутреннего, обычного сохранения/восстановления (как для МФС) не будет работать как ожидалось. Вы могли бы сделать это с маленькой хитрости:

_cd()
{
 местные save_="$_"
...
 : $save_
 возвращает 0

Вы должны спасти _ сразу на входе в функцию : это нулевая команда, которая не делает ничего на SE, но имеет обычных побочных эффектов команды, такие как установка _. Эта операция восстановления будет необходимо для каждой точки возврата каждого потенциально разрушительные функции. Тут есть тонкость здесь тоже: обычно _ устанавливается сразу после возврата из функции (до последнего аргумента вызова функции, как и предполагалось), что делает этот способ неэффективным. Но, этого не происходит, когда функция завершения вызывается, так как это не вызывается явно. Я не считаю, что это очень надежные...

(Я предпочитаю историю расширения, и придерживаться !$ который не страдает от этой проблемы.)