завершение файла bash без указания "./"

Вы можете сделать это. За исключением того, что не объединяйте своп и сначала верните -вверх (, по крайней мере, сделайте резервную копию того, что вы не можете вернуть ).

  1. Резервное копирование
  2. Загрузитесь с работающей ОС. Не делайте этого в активной системе.
  3. Перенесите /varи /tmpв /или/home:Скопируйте их, затем измените таблицу монтирования, чтобы они не монтировались. Если будете их мигрировать в /home, то создайте на них ссылки.
  4. Тест
  5. Когда все работает.
    1. Удалить разделы /varи/tmp
    2. изменить размер /homeраздела, чтобы заполнить пробел.
4
12.11.2020, 17:36
3 ответа

Ваш текущий каталог не (или не должен быть )в вашем $PATH, поэтому это недопустимое место для поиска исполняемых файлов. В этом примере my_является префиксом команды, поэтому его нельзя найти в вашем текущем каталоге :

.
my_<tab>

В этом примере my_является обычным файлом, и его можно найти с помощью автодополнения с помощью табуляции:

cat my_<tab>
3
18.03.2021, 22:49

Если перед my_нет команды, то оболочка завершится только с именами локальных каталогов или исполняемых файлов, которые находятся в PATH. По умолчанию текущий каталог не находится в PATHиз соображений лучшей практики.

Если вы должны были сделать ls my_<TAB>, то это должно завершиться для вас.

1
18.03.2021, 22:49

Одним из способов может быть добавление текущего каталога в переменную среды PATH в вашем профиле, но это может быть опасно, поскольку вы можете выполнять сценарии. не делая этого специально (без./):

export PATH="$PATH:."
-1
18.03.2021, 22:49

Теги

Похожие вопросы