gpt4 book ai didi

bash - 配置 bash 以防止 rm -rf * 在 ~/中无警告地运行

转载 作者:行者123 更新时间:2023-12-04 18:36:38 26 4
gpt4 key购买 nike

我正在运行最新的 Ubuntu Linux。

今天早上我运行了一个脚本,它做了很多事情。在做这些事情时,由于我还没有调查的原因,脚本回到了一个目录太多并做了一个
rm -rf *
在目录中
~/
显然不好;我花了 3 个小时恢复和重新配置所有内容。

问题: .bashrc 中的函数会是什么样子,它总是会提示用户,即使来自没有用户输入的脚本,只要它看到
rm -rf ~/*
或者
rm -rf * 在目录中时 ~/

最佳答案

您可以自定义 rm在您的 PATH并调用/bin/rm-i强制进入其参数数组作为最后一个选项,类似于(仅考虑 POSIX 标志):

#!/bin/sh -eu
if [ "$PWD" != "$HOME" ]; then
exec /bin/rm "$@"
exit 127
fi
opts=
while getopts 'fiRr' opt; do
case $opt in [fiRr]) opts=$opts$opt;; *) exit 1;; esac
done;
shift $((OPTIND-1))
/bin/rm -${opts}i "$@" < /dev/tty

关于bash - 配置 bash 以防止 rm -rf * 在 ~/中无警告地运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47233171/

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