linux - 如何为 BASH 垃圾箱脚本添加选项?
问题描述
我正在为脚本编写练习使用一些命令,我应该在我的主目录中创建一个使用脚本的“垃圾”目录。该脚本需要提供一个选择菜单来删除文件、清空垃圾箱或退出。如果我需要删除一个文件,它会询问文件名,如果我选择空垃圾箱,它必须清空目录但不删除目录本身,我如何实现“你确定”功能?这是我到目前为止所拥有的
#!/bin/bash
PS3='Select your choice: '
options=("Delete File?" "Empty Trashbin?" "Exit")
select opt in "${options[@]}"
do
case $opt in
"Delete File?")
echo "Are you sure you want to delete?"
;;
"Empty Trashbin?")
echo "Are you sure you want to empty trashbin?"
;;
"Exit")
break
;;
解决方案
我在您的脚本中添加了一些部分,希望对您有所帮助
#!/bin/bash
FILEPATH="$1"
BINDIR="/tmp/trashbin"
PS3='Select your choice: '
options=("Delete File?" "Empty Trashbin?" "Exit")
select opt in "${options[@]}"
do
case $opt in
"Delete File?")
[ -z "$FILEPATH" ] && { echo "Please provide a file as argument";break; }
echo "Are you sure you want to delete \"$FILEPATH\"?"
read -r ANSWER
[ "$ANSWER" == "y" ] || [ "$ANSWER" == "Y" ] && {
rm -rf "$FILEPATH"
}
break
;;
"Empty Trashbin?")
echo "Are you sure you want to empty trashbin?"
read -r ANSWER
[ "$ANSWER" == "y" ] || [ "$ANSWER" == "Y" ] && {
rm -rf "${BINDIR:?}/"*
}
break
;;
"Exit")
break
;;
esac
done
exit 0
推荐阅读
- javascript - 将 2 个 API 数据源加入 1 个反应表的最佳方法?
- javascript - state 既没有从 useState 更新,也没有在 useState 中更新 useEffect
- r - 情节不会彼此对齐
- javascript - 使用 FormData、AJAX 和 PHP 发送 FILE 的空值
- python - 正则表达式排除可选单词并作为列表返回
- python - Python Pandas 用元组中的 NAN 替换值
- python-3.x - 如何在 django-import-export 中使用数值格式化导出字段
- javascript - 如何使用 Javascript/Typescript 为 Angular 树的平面数组创建数据
- selenium - 未处理的检查器错误 - {"code":-32000,"message":"Object reference chain is too long"} in selenoid
- java - 我想在循环的帮助下在java中创建一个nxn模式