Когда я использую команду rm -rf
, я хочу убедиться, что перед удалением файла всегда появляется подсказка, поэтому я попытался добавить это в ~/.bashrc
alias 'rm -rf'='rm -rfi'
Но это не сработает. Как я могу это исправить? Большое спасибо.
Подтверждение – это слабый способ добиться желаемого результата: не удалять файлы, которые вы не хотите удалять. Я могу попросить вас подтвердить 10 раз подряд, но если вы просто попросили меня удалить mispeled.txt
вы не поймете свою ошибку, пока не подтвердите ее.
Лучше использовать в вашей системе trash
или аналогичную команду, которая отправляет файлы в «восстановительный» «корзину». Существует сборка RPM пакета trash-cli
на rpmfind.net, но я не могу ручаться за эту версию. Когда вы сомневаетесь, создайте его самостоятельно из исходного кода .
Как отмечено в комментариях, это плохая идея для псевдонима rm
вообще, потому что она вернется, чтобы укусить вас, когда вы находитесь в оболочке, у которой нет защитного псевдонима, и ваш мозг привык иметь «безопасный» rm
.
В вашем ~/.bashrc
вы можете просто сделать это вместо этого:
alias rm='rm -i'
Таким образом, когда вы вводите rm -rf example-dir
, Bash переводит его в rm -i -rf example-dir
.
Обратите внимание, что для интерактивных оболочек входа используется ~/.bash_profile
. Чтобы заставить оболочки для входа также использовать ~/.bashrc
, просто добавьте это в свой файл ~/.bash_profile
:
[[ -f ~/.bashrc ]] && source ~/.bashrc
Теперь ~/.bashrc
всегда будет выполняться в любое время, когда вы откроете терминал или сеанс ssh.
f -> сила, никогда не подскажите
i -> подсказка каждый раз
Если вам нужно получить подсказку, просто используйте rm -i
в псевдониме. У вас может быть 2 псевдонима (rmf и rmi), если вы хотите иметь оба.