如何为BASH垃圾箱脚本添加选择?

问题描述 投票:2回答:1

我正在为脚本练习而苦苦挣扎,我应该在使用脚本的主目录中创建一个“ trash”目录。该脚本需要提供一个选择菜单,以<,清空垃圾箱退出。如果我需要删除一个文件,它会要求输入文件名,如果我选择一个空的垃圾箱,它必须清空目录,但不能删除目录本身,我该如何实现“您确定”功能?这是我到目前为止所拥有的

#!/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 ;;
linux bash scripting
1个回答
0
投票
我在脚本中添加了一些部分,希望对您有所帮助

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

© www.soinside.com 2019 - 2024. All rights reserved.