< OS 有关> BaiduPCS-Go 程序的 菜单脚本 Script: BaiduPCS-Go.Menu.sh (bdgo.sh)

目标:

使用 日本阿里云的 VPM 传输文件。

暂时方案:

  • 使用 主机JPN 下载 https://huggingface.co/ 上模型
  • 从 JPN 放到 度狗上
  • 在家里从狗度下载 

为了减少编程,尽量使用现在软件 ,就找到 GitHub - qjfoidnh/BaiduPCS-Go: iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能

昨天在试用它,发现登录使用 BDUSS 非常方便,但命令行很麻烦,就按照 项目中的 read.me 内容做了这个 Shell Script:  Create BaiduPCS-Go.Menu.sh

Script: Create BaiduPCS-Go.Menu.sh (bdgo.sh)

概述:

这是 BaiduPCS-Go 的交互式 Shell bash 菜单脚本,BaiduPCS-Go 是百度网盘 (Baidu Pan) 的命令行客户端。脚本提供一个数字输入的菜单界面,通过“菜单编号” 使用 BaiduPCS-Go的各个功能,不能费脑子去记命令行操作,生活更容易。

界面:

自定义变量:

BDUSS 文件:

BDUSS_FILE="/share/Multimedia/2024-MyProgramFiles/29.QTS_conf_files/bd.BDUSS"

默认下载目录

DEFAULT_DOWNLOAD_DIR="/root"

Full script file:

#!/bin/bash
# Craeted by Dave on 28Jan.2025  Version 0.3
# History --
# 0.1 To use the manual structure as https://github.com/qjfoidnh/BaiduPCS-Go/blob/main/README.md listed. 
# 0.2 added pause(), clear_screen()
# 0.3 added Loading BDUSS file and Default Download location.# BDUSS 文件:
BDUSS_FILE="/share/Multimedia/2024-MyProgramFiles/29.QTS_conf_files/bd.BDUSS"# 默认下载目录
DEFAULT_DOWNLOAD_DIR="/root"# 清屏
clear_screen() {clear
}# 暂停 
pause() {echoread -p "按回车键继续..." key
}# loading BDUSS
read_bduss() {if [ ! -f "$BDUSS_FILE" ]; thenecho "错误: BDUSS文件不存在: $BDUSS_FILE"return 1fiBDUSS=$(cat "$BDUSS_FILE")if [ -z "$BDUSS" ]; thenecho "错误: BDUSS文件内容为空"return 1fiecho "$BDUSS"return 0
}show_main_menu() {clear_screenecho "=== BaiduPCS-Go 主菜单 ==="echo "1. 账号管理"echo "2. 文件操作" echo "3. 分享/转存"echo "4. 回收站"echo "5. 系统设置"echo "0. 退出"echo "===================="
}show_account_menu() {clear_screenecho "=== 账号管理 ==="echo "1. 使用BDUSS登录"echo "2. 切换账号"echo "3. 退出账号" echo "4. 显示当前账号"echo "5. 显示账号列表"echo "9. 返回主菜单"echo "0. 退出"echo "===================="
}show_file_menu() {clear_screenecho "=== 文件操作 ==="echo "1. 列出文件"echo "2. 切换目录"echo "3. 下载文件/目录"echo "4. 上传文件/目录"echo "5. 创建目录"echo "6. 删除文件/目录"echo "7. 复制文件/目录"echo "8. 移动/重命名"echo "9. 返回主菜单"echo "0. 退出"echo "===================="
}show_share_menu() {clear_screenecho "=== 分享/转存 ==="echo "1. 分享文件/目录"echo "2. 列出已分享"echo "3. 取消分享"echo "4. 转存分享文件"echo "9. 返回主菜单"echo "0. 退出"echo "===================="
}show_recycle_menu() {clear_screenecho "=== 回收站 ==="echo "1. 列出回收站"echo "2. 还原文件/目录"echo "3. 清空回收站"echo "9. 返回主菜单"echo "0. 退出"echo "===================="
}show_config_menu() {clear_screenecho "=== 系统设置 ==="echo "1. 显示配置"echo "2. 修改配置"echo "3. 恢复默认配置"echo "9. 返回主菜单"echo "0. 退出"echo "===================="
}account_operations() {while true; doshow_account_menuread -p "请选择操作 [0-9]: " choicecase $choice in1) # 使用BDUSS登录clear_screenecho "正在从文件读取BDUSS: $BDUSS_FILE"BDUSS=$(read_bduss)if [ $? -eq 0 ]; thenecho "成功读取BDUSS,正在登录..."BaiduPCS-Go login -bduss="$BDUSS"fipause;;2) # 切换账号 clear_screenBaiduPCS-Go supause;;3) # 退出账号clear_screenBaiduPCS-Go logoutpause;;4) # 显示当前账号clear_screenBaiduPCS-Go whopause;;5) # 显示账号列表clear_screenBaiduPCS-Go loglistpause;;9) # 返回主菜单return;;0) # 退出exit 0;;*)echo "无效的选择"pause;;esacdone
}file_operations() {while true; doshow_file_menuread -p "请选择操作 [0-9]: " choicecase $choice in1) # 列出文件clear_screenread -p "请输入要列出的目录路径(直接回车列出当前目录): " pathif [ -z "$path" ]; thenBaiduPCS-Go lselseBaiduPCS-Go ls "$path"fipause;;2) # 切换目录clear_screenread -p "请输入要切换到的目录路径: " pathBaiduPCS-Go cd "$path"pause;;3) # 下载文件/目录clear_screenread -p "请输入要下载的文件/目录路径: " pathBaiduPCS-Go download "$path"pause;;4) # 上传文件/目录clear_screenread -p "请输入要上传的本地文件/目录路径: " local_pathread -p "请输入要上传到的网盘目录路径: " remote_pathBaiduPCS-Go upload "$local_path" "$remote_path"pause;;5) # 创建目录clear_screenread -p "请输入要创建的目录路径: " pathBaiduPCS-Go mkdir "$path"pause;;6) # 删除文件/目录clear_screenread -p "请输入要删除的文件/目录路径: " pathBaiduPCS-Go rm "$path"pause;;7) # 复制文件/目录clear_screenread -p "请输入要复制的源文件/目录路径: " srcread -p "请输入目标路径: " dstBaiduPCS-Go cp "$src" "$dst"pause;;8) # 移动/重命名clear_screenread -p "请输入要移动/重命名的源文件/目录路径: " srcread -p "请输入新路径: " dstBaiduPCS-Go mv "$src" "$dst"pause;;9) # 返回主菜单return;;0) # 退出exit 0;;*)echo "无效的选择"pause;;esacdone
}share_operations() {while true; doshow_share_menuread -p "请选择操作 [0-9]: " choicecase $choice in1) # 分享文件/目录clear_screenread -p "请输入要分享的文件/目录路径: " pathBaiduPCS-Go share set "$path"pause;;2) # 列出已分享clear_screenBaiduPCS-Go share listpause;;3) # 取消分享clear_screenread -p "请输入要取消的分享ID: " share_idBaiduPCS-Go share cancel "$share_id"pause;;4) # 转存分享文件clear_screenread -p "请输入分享链接: " linkread -p "请输入提取码: " codeBaiduPCS-Go transfer "$link" "$code"pause;;9) # 返回主菜单return;;0) # 退出exit 0;;*)echo "无效的选择"pause;;esacdone
}recycle_operations() {while true; doshow_recycle_menuread -p "请选择操作 [0-9]: " choicecase $choice in1) # 列出回收站clear_screenBaiduPCS-Go recycle listpause;;2) # 还原文件/目录clear_screenread -p "请输入要还原的文件/目录fs_id: " fs_idBaiduPCS-Go recycle restore "$fs_id"pause;;3) # 清空回收站clear_screenecho "警告:该操作将清空回收站!"read -p "确认要清空吗?(y/n) " confirmif [ "$confirm" = "y" ] || [ "$confirm" = "Y" ]; thenBaiduPCS-Go recycle delete -allfipause;;9) # 返回主菜单return;;0) # 退出exit 0;;*)echo "无效的选择"pause;;esacdone
}config_operations() {while true; doshow_config_menuread -p "请选择操作 [0-9]: " choicecase $choice in1) # 显示配置clear_screenBaiduPCS-Go configpause;;2) # 修改配置clear_screenecho "常用配置选项:"echo "1) 设置下载目录: config set -savedir $DEFAULT_DOWNLOAD_DIR"  # Changed this lineecho "2) 设置下载并发数: config set -max_parallel <数值>"echo "3) 设置同时下载文件数: config set -max_download_load <数值>"echoread -p "请输入完整的配置命令: " cmdBaiduPCS-Go $cmdpause;;3) # 恢复默认配置clear_screenecho "警告:该操作将恢复所有默认配置!"read -p "确认要恢复吗?(y/n) " confirmif [ "$confirm" = "y" ] || [ "$confirm" = "Y" ]; thenBaiduPCS-Go config resetfipause;;9) # 返回主菜单return;;0) # 退出exit 0;;*)echo "无效的选择"pause;;esacdone
}while true; doshow_main_menuread -p "请选择操作 [0-5]: " choicecase $choice in1) # 账号管理account_operations;;2) # 文件操作file_operations;;3) # 分享/转存share_operations;;4) # 回收站recycle_operations;;5) # 系统设置config_operations;;0) # 退出echo "谢谢使用,再见!"exit 0;;*)echo "无效的选择"pause;;esac
done

就喜欢用 case 明显增加代码长度~

dos2unix:

当你与遇到: 

-sh: /opt/bin/bdgo.sh: /bin/bash^M: bad interpreter: No such file or directory

剔除 Windows 换行符

dos2unix /opt/bin/bdgo.sh

类似:

sed -i 's/\r$//' /opt/bin/bdgo.sh

结束:

如果今后频繁使用,再去找到相关的应用,或起个项目用编程来实现,现在脚本是最快的方案。
 

年新快乐~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/9798.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

98.1 AI量化开发:长文本AI金融智能体(Qwen-Long)对金融研报大批量处理与智能分析的实战应用

目录 0. 承前1. 简介1.1 通义千问(Qwen-Long)的长文本处理能力 2. 基础功能实现2.1 文件上传2.2 单文件分析2.3 多文件分析 3. 汇总代码&运行3.1 封装的工具函数3.2 主要功能特点3.3 使用示例3.4 首次运行3.5 运行结果展示 4. 注意事项4.1 文件要求4.2 错误处理机制4.3 最佳…

Linux环境基础开发工具的使用(apt, vim, gcc, g++, gbd, make/Makefile)

目录 什么是软件包 Linux 软件包管理器 apt 认识apt 查找软件包 安装软件 如何实现本地机器和云服务器之间的文件互传 卸载软件 Linux编辑器 - vim vim的基本概念 vim下各模式的切换 vim命令模式下各指令汇总 vim底行模式个指令汇总 Linux编译器 - gcc/g gcc/g的作…

deepseek R1的确不错,特别是深度思考模式

deepseek R1的确不错&#xff0c;特别是深度思考模式&#xff0c;每次都能自我反省改进。比如我让 它写文案&#xff1a; 【赛博朋克版程序员新春密码——2025我们来破局】 亲爱的代码骑士们&#xff1a; 当CtrlS的肌肉记忆遇上抢票插件&#xff0c;当Spring Boot的…

SpringBoot源码解析(八):Bean工厂接口体系

SpringBoot源码系列文章 SpringBoot源码解析(一)&#xff1a;SpringApplication构造方法 SpringBoot源码解析(二)&#xff1a;引导上下文DefaultBootstrapContext SpringBoot源码解析(三)&#xff1a;启动开始阶段 SpringBoot源码解析(四)&#xff1a;解析应用参数args Sp…

基于Django的个人博客系统的设计与实现

【Django】基于Django的个人博客系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 系统采用Python作为主要开发语言&#xff0c;结合Django框架构建后端逻辑&#xff0c;并运用J…

Vue-day2

7.Vue的生命周期 mounted函数&#xff1a;在页面加载完毕时&#xff0c;发送异步请求&#xff0c;加载数据&#xff0c;渲染页面 createApp({date(){},methods:{},mounted:function(){console.log(Vue挂载完毕&#xff0c;发送请求获取数据)} }).mount(#{app}) 8.ajax函数库…

SSM-MyBatis-总结

文章目录 一、Hello MyBatis1.1 流程1.2 总结 二、Crud 的一些注意点三、参数传递3.1 #{ } VS ${ }3.2 单、复参数传递&#xff08;1&#xff09;单参数&#xff08;2&#xff09;多参数 -- Param&#xff08;3&#xff09;总结 四、查询结果返回--结果封装4.1 ResultType 一般…

全面解析文件上传下载删除漏洞:风险与应对

在数字化转型的时代&#xff0c;文件上传、下载与删除功能已经成为各类应用程序的标准配置&#xff0c;从日常办公使用的协同平台&#xff0c;到云端存储服务&#xff0c;再到社交网络应用&#xff0c;这些功能在给用户带来便捷体验、显著提升工作效率的同时&#xff0c;也隐藏…

GSI快速收录服务:让你的网站内容“上架”谷歌

辛苦制作的内容无法被谷歌抓取和展示&#xff0c;导致访客无法找到你的网站&#xff0c;这是会让人丧失信心的事情。GSI快速收录服务就是为了解决这种问题而存在的。无论是新上线的页面&#xff0c;还是长期未被收录的内容&#xff0c;通过我们的技术支持&#xff0c;都能迅速被…

JavaScript

书写位置 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>/*C…

Go的内存逃逸

Go的内存逃逸 内存逃逸是 Go 语言中一个重要的概念&#xff0c;指的是本应分配在栈上的变量被分配到了堆上。栈上的变量在函数结束后会自动回收&#xff0c;而堆上的变量需要通过垃圾回收&#xff08;GC&#xff09;来管理&#xff0c;因此内存逃逸会增加 GC 的压力&#xff0…

python学opencv|读取图像(四十九)原理探究:使用cv2.bitwise()系列函数实现图像按位运算

【0】基础定义 按位与运算&#xff1a;两个等长度二进制数上下对齐&#xff0c;全1取1&#xff0c;其余取0。 按位或运算&#xff1a;两个等长度二进制数上下对齐&#xff0c;有1取1&#xff0c;其余取0。 按位异或运算&#xff1a; 两个等长度二进制数上下对齐&#xff0c;相…

图论——最小生成树的扩展应用

最小生成树相关原理 acwing1146.新的开始 假设存在一个“超级发电站” 在每一个矿井修发电站相当于从这个“超级发电站”到各个矿井连一条长度为 v [ i ] v[i] v[i]的边。 这样一来这就是一个最短路的模板题。 #include <iostream> #include <cstring> using na…

供应链系统设计-供应链中台系统设计(十)- 清结算中心概念片篇

综述 我们之前在供应链系统设计-中台系统设计系列&#xff08;五&#xff09;- 供应链中台实践概述文章中针对中台到底是什么进行了描述&#xff0c;对于中台的范围也进行划分&#xff0c;如下图所示&#xff1a; 关于商品中心&#xff0c;我们之前用4篇文章介绍了什么是商品中…

Git图形化工具【lazygit】

简要介绍一下偶然发现的Git图形化工具——「lazygit」 概述 Lazygit 是一个用 Go 语言编写的 Git 命令行界面&#xff08;TUI&#xff09;工具&#xff0c;它让 Git 操作变得更加直观和高效。 Github地址&#xff1a;https://github.com/jesseduffield/lazygit 主要特点 主要…

为大模型提供webui界面的利器:Open WebUI 完全本地离线部署deepseek r1

为大模型提供webui界面的利器&#xff1a;Open WebUI Open WebUI的官网&#xff1a;&#x1f3e1; Home | Open WebUI 开源代码&#xff1a;WeTab 新标签页 Open WebUI是一个可扩展、功能丰富、用户友好的自托管AI平台&#xff0c;旨在完全离线运行。它支持各种LLM运行程序&am…

全程Kali linux---CTFshow misc入门(14-24)

第十四题&#xff1a; dd命令&#xff1a;dd是一个用于复制和转换数据的命令&#xff0c;它可以对文件、设备等进行操作&#xff0c;在数据备份、转换格式等场景经常使用。 ifmisc14.jpg&#xff1a;if表示 “input file”&#xff08;输入文件&#xff09;&#xff0c;这里指…

网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开。

一、前言 我从24年11月份开始学习网络爬虫应用开发&#xff0c;经过2个来月的努力&#xff0c;于1月下旬完成了开发一款网络爬虫软件的学习目标。这里对本次学习及应用开发进行一下回顾总结。 前几天我已经发了一篇日志&#xff08;网络爬虫学习&#xff1a;应用selenium从搜…

C语言连接Mysql

目录 C语言连接Mysql下载 mysql 开发库 方法介绍mysql_init()mysql_real_connect()mysql_query()mysql_store_result()mysql_num_fields()mysql_fetch_fields()mysql_fetch_row()mysql_free_result()mysql_close() 完整代码 C语言连接Mysql 下载 mysql 开发库 方法一&#xf…

前端-Rollup

Rollup 是一个用于 JavaScript 的模块打包工具&#xff0c;它将小的代码片段编译成更大、更复杂的代码&#xff0c;例如库或应用程序。它使用 JavaScript 的 ES6 版本中包含的新标准化代码模块格式&#xff0c;而不是以前的 CommonJS 和 AMD 等特殊解决方案。ES 模块允许你自由…