选择某文件夹,并进行其他操作(适用于debian、ubuntu、麒麟、统信uos中的debian系列)

选择某文件夹,并进行其他操作(如将选择的目标文件夹复制到其他的位置上等)
shell脚本(适用于debian、ubuntu、麒麟、统信uos中的debian系列)
效果图:
在这里插入图片描述

shell脚本如下:

#!/bin/bash
# 此处可进行下载离线包,进行dpkg -i *.deb
sudo apt-get install zenity libatk-adaptor at-spi2-core

# 源文件夹路径,此处可进行修改为其他文件夹
source_folder="/opt/apps/cn.safegprint.www/files/ankeyin"

# 检查源文件夹是否存在
if [ ! -d "$source_folder" ]; then
    echo "源文件夹不存在!"
    exit 1
fi

# 定义执行额外命令的函数
execute_additional_commands() {
# 在这里添加所有需要执行的额外命令
output_file="/var/log/path_info.log"
# 输出路径信息到文件
echo "文件夹已成功存储到 $akyPath" > "$output_file"
}

while true; do
    # 选择目标文件夹路径
    target_folder=$(zenity --file-selection --directory --title="选择安装路径" 2> /dev/null)
    if [ -z "$target_folder" ]; then
        zenity --info --text="未选择安装路径,请重新选择。" --title="提示"
        continue
    fi

    # 确保目标文件夹路径以斜杠结尾
    target_folder=$(realpath "$target_folder")

    # 提取文件夹名称
    folder_name=$(basename "$source_folder")

    # 目标文件夹完整路径
    akyPath="$target_folder/$folder_name"

    # 确认操作
    confirm=$(zenity --question --text="安装路径是:$akyPath\n\n确认继续?" --title="确认" --ok-label="继续" --cancel-label="重新选择")
    if [ $? -eq 0 ]; then
        echo "正在安装中,稍等一会儿"

        # 移动文件夹,此处可进行其他操作
        if cp -r "$source_folder" "$akyPath"; then
            zenity --info --text="安装程序的安装路径是: $akyPath" --title="完成"
            execute_additional_commands
            exit 0
        else
            zenity --error --text="存储文件夹失败!" --title="错误"
            exit 1
        fi
    else
        zenity --info --text="请重新选择安装路径。" --title="提示"
    fi
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阮小怂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值