я не могу случайно

Я только что создал alias rm="rm -I", чтобы предотвратить случайную команду rm.

-I     prompt  once before removing more than three files, or when removing recursively.
       Less intrusive than -i, while still giving protection against most mistakes

Но это не работает. Я не получаю никаких подсказок при использовании rm -rf

5
задан 2 December 2013 в 23:07

2 ответа

При чтении справки снова, Вы будете видеть, что она говорит предыдущий --interactive. Это означает, что можно добавить -I после всех других аргументов (как в конце строки) и это будут соблюдать снова!

Чтобы сделать это, Вы нуждаетесь в функции вместо псевдонима, но просто засовываете это где-нибудь в Ваш .bashrc (и др.) и Вы являетесь золотыми:

function rm { /bin/rm "$@" -I; }

Возможно, более безопасный метод, чем даже это использует trash-cli trash-put команда. Это поместит вещи в каталог мусора Вашей учетной записи, который может обычно рассмотреться/восстановиться/опустеться. Это также имеет макет -r, -f и, -i аргументы, таким образом, это делает идеальный псевдоним возможным:

alias rm="trash-put"
9
ответ дан 2 December 2013 в 23:07
  • 1
    Для ноутбука это не опция. Будьте в спящем режиме выключает его, но я ищу способ выключить его в, приостанавливают, если это возможно. – Pilot6 29 May 2015 в 00:45

Проблема здесь в том, что -f заставляет rm игнорировать любую интерактивную команду:

`-f'
`--force'
   Ignore nonexistent files and missing operands, and never prompt
   the user.  Ignore any previous `--interactive' (`-i') option.

Источник: info coreutils 'rm invocation'

0
ответ дан 2 December 2013 в 23:07

Другие вопросы по тегам:

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