¿Hay alguna manera de configurar una advertencia antes de ejecutar algunos comandos en la terminal?

¿Hay alguna manera de configurar una advertencia antes de ejecutar algunos comandos en la terminal?

Hay algunos comandos de terminal que son competentes para destruir grandes cantidades de datos de manera muy eficiente. Como: sudo rm -rf /*o rm -rf /*. Quiero configurar una advertencia que aparecerá cada vez que se ingresen estos comandos destructivos. Algo como esto:

sudo rm -rf /*
Are you sure you want to remove all files from your root 
directory recursively? This operation will remove all files from the root 
directory, any mounted filesystems attached to it and essential operating 
system files. 
Are you sure you want to proceed? [Y/n]

rm -rf /*
Are you sure you want to remove all files owned by $USER 
recursively? This operation will remove all your files on the root 
filesystem and any filesystems mounted to it.
Are you sure you want to proceed? [Y/n]

¿Cómo escribir un guión que haga esto?

Respuesta1

rmtiene la opción -ique pregunta cada vez antes de eliminar un archivo. Creo que eso no es lo que quieres porque pregunta.CADAtiempo antes de eliminar un archivo que a menudo incluiría cientos de reconocimientos si desea eliminar de forma recursiva, por ejemplo, un repositorio de git.

Lo que probablemente quieras es un script simple que "reemplace" rmcomo este

#!/bin/bash
if [ "$(ls -l $1 | wc -l)" = "1" ]; then
  rm $1 $@
else
  echo "You are going to delete these ($(ls -l $1 | wc -l)) files/directories via shell globbing" 
  ls $1
  read -p "Do you really want to delete these files? [y/n]" yn
  if [ $yn = [Yy] ]; then
    rm $1 $@
  fi
fi

Nota: debe utilizar el script como "rm FILE ARGUMENTS".

Este script busca si elige más de un archivo (directorio) con shell global pero elimina el archivo si es solo uno.

información relacionada