gpt4 book ai didi

linux - 执行rm前提示文件列表

转载 作者:太空狗 更新时间:2023-10-29 11:29:40 25 4
gpt4 key购买 nike

我开始使用“sudo rm -r”来删除文件/目录。我什至把它作为 rm 的别名。

我通常知道自己在做什么,而且我是经验丰富的 Linux 用户。

但是,我希望当我按下“ENTER”时,在执行 rm 之前,屏幕上会显示一个文件列表,并在最后提示确定是否删除文件。

选项 -i -I -v 没有做我想做的事。对于屏幕上所有打印的文件,我只需要一个提示。

谢谢。

最佳答案

##
# Double-check files to delete.
delcheck() {
printf 'Here are the %d files you said you wanted to delete:\n' "$#"
printf '"%s"\n' "$@"
read -p 'Do you want to delete them? [y/N] ' doit
case "$doit" in
[yY]) rm "$@";;
*) printf 'No files deleted\n';;
esac
}

这是一个 shell 函数,(如果使用得当)会做你想做的事。但是,如果您在当前 shell 中加载该函数,然后尝试将它与 sudo 一起使用,它不会执行您期望的操作,因为 sudo创建一个单独的 shell 。所以你需要把它变成一个 shell 脚本……

#!/bin/bash

… same code as above …

# All this script does is create the function and then execute it.
# It's lazy, but functions are nice.
delcheck "$@"

...然后确保 sudo 可以访问它。把它放在 sudo 执行路径中的某个地方(取决于 sudo 配置。)然后如果你真的想要精确地执行它sudo rm -r * 您仍然需要将脚本命名为 rm(我认为这很危险)并确保它的 PATH 之前 /bin 在您的 PATH 中。 (也很危险)。但是你去吧。

关于linux - 执行rm前提示文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com