首页 > 解决方案 > 如何为 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
            ;;

标签: linuxbashscripting

解决方案


我在您的脚本中添加了一些部分,希望对您有所帮助

#!/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

推荐阅读