< 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.mzph.cn/web/67372.shtml

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

相关文章

(详细)Springboot 整合动态多数据源 这里有mysql(分为master 和 slave) 和oracle,根据不同路径适配不同数据源

文章目录 Springboot 整合多动态数据源 这里有mysql&#xff08;分为master 和 slave&#xff09; 和oracle1. 引入相关的依赖2. 创建相关配置文件3. 在相关目录下进行编码&#xff0c;不同路径会使用不同数据源 Springboot 整合多动态数据源 这里有mysql&#xff08;分为maste…

DeepSeek--通向通用人工智能的深度探索者

一、词源与全称 “DeepSeek"由"Deep”&#xff08;深度&#xff09;与"Seek"&#xff08;探索&#xff09;组合而成&#xff0c;中文译名为"深度求索"。其全称为"深度求索人工智能基础技术研究有限公司"&#xff0c;英文对应"De…

matlab中,fill命令用法

在 MATLAB 中&#xff0c;fill 命令用于创建填充多边形的图形对象。使用 fill 可以在二维坐标系中绘制填充的区域&#xff0c;通常用于绘制图形的背景或显示数据分布。 基本语法 fill(X, Y, C)X 和 Y 是同样长度的向量&#xff0c;定义了多边形的顶点坐标。C 是颜色&#xff0…

汽车定速巡航

配备定速巡航功能的车型&#xff0c;一般在方向盘附近设有4~6个按键&#xff08;可能共用键位&#xff09;。 要设置定速巡航&#xff0c;不仅需要方向盘上的按键&#xff0c;还要油门配合。 设置的一般流程&#xff1a; 开关&#xff1a;类似步枪上的“保险”&#xff0c;按…

C++11中array容器的常见用法

文章目录 一、概述二、std::array的特点三、std::array的定义与初始化三、std::array的常用成员函数四、与 C 风格数组的互操作 一、概述 在 C11 中&#xff0c;std::array 是一个新的容器类型&#xff0c;它提供了一个固定大小的数组封装。相比传统的 C 风格数组&#xff0c;…

Vue 响应式渲染 - 待办事项简单实现

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 响应式渲染 - 待办事项简单实现 目录 待办事项简单实现 页面初始化 双向绑定的指令 增加留言列表设置 增加删除按钮 最后优化 总结 待办事项简单实现 页面初始化 对页面进行vue的引入、创建输入框和按钮及实例化V…

中文输入法方案

使用了三年的自然码双拼&#xff0c;毫无疑问是推荐使用双拼输入法。 三年积累下来的习惯是&#xff1a; 1 自然码方案 2 空格出字 字母选字 直到如今&#xff0c;想要做出改变&#xff0c;是因为这样的方案带来的痛点&#xff1a; 1 使用空格出字就无法使用辅助码&#…

在Windows系统中本地部署属于自己的大语言模型(Ollama + open-webui + deepseek-r1)

文章目录 1 在Windows系统中安装Ollama&#xff0c;并成功启动&#xff1b;2 非docker方式安装open-webui3下载并部署模型deepseek-r1 Ollama Ollama 是一个命令行工具&#xff0c;用于管理和运行机器学习模型。它简化了模型的下载与部署&#xff0c;支持跨平台使用&#xff0c…

ProGen生成功能蛋白序列

LLM在包括蛋白质设计等各种生物技术应用中展现出了潜力。ProGen是一种语言模型&#xff0c;它能够生成在大型蛋白质家族中具有可预测功能的蛋白质序列&#xff0c;这类似于针对不同主题生成语法和语义正确的自然语言句子。该模型在来自超过19,000个家族的2.8亿个蛋白质序列上进…

省级数字经济发展水平数据(2011-2022年)-社科数据

省级数字经济发展水平数据&#xff08;2011-2022年&#xff09;-社科数据https://download.csdn.net/download/paofuluolijiang/90028602 https://download.csdn.net/download/paofuluolijiang/90028602 数字经济是指以数据资源为关键要素、以现代信息网络为主要载体、以信息…

Leecode刷题C语言之跳跃游戏②

执行结果:通过 执行用时和内存消耗如下&#xff1a; int jump(int* nums, int numsSize) {int position numsSize - 1;int steps 0;while (position > 0) {for (int i 0; i < position; i) {if (i nums[i] > position) {position i;steps;break;}}}return steps…

《多线程基础之条件变量》

【条件变量导读】条件变量是多线程中比较灵活而且容易出错的线程同步手段&#xff0c;比如&#xff1a;虚假唤醒、为啥条件变量要和互斥锁结合使用&#xff1f;windows和linux双平台下&#xff0c;初始化、等待条件变量的api一样吗&#xff1f; 本文将分别为您介绍条件变量在w…

消息队列篇--通信协议篇--TCP和UDP(3次握手和4次挥手,与Socket和webSocket的概念区别等)

1、TCP和UDP概述 TCP&#xff08;传输控制协议&#xff0c;Transmission Control Protocol&#xff09;和UDP&#xff08;用户数据报协议&#xff0c;User Datagram Protocol&#xff09;都算是最底层的通信协议&#xff0c;它们位于OSI模型的传输层。*传输层的主要职责是确保…

打破传统束缚:领略 Web3 独特魅力

在互联网发展的历程中&#xff0c;我们见证了Web1和Web2的变迁。Web1是静态信息的展示平台&#xff0c;Web2则引领了社交互动和内容创作的繁荣&#xff0c;而如今&#xff0c;Web3作为新时代的互联网架构&#xff0c;正逐渐展现出其独特的魅力&#xff0c;带领我们走向一个更加…

[论文总结] 深度学习在农业领域应用论文笔记14

当下&#xff0c;深度学习在农业领域的研究热度持续攀升&#xff0c;相关论文发表量呈现出迅猛增长的态势。但繁荣背后&#xff0c;质量却不尽人意。相当一部分论文内容空洞无物&#xff0c;缺乏能够落地转化的实际价值&#xff0c;“凑数” 的痕迹十分明显。在农业信息化领域的…

Linux 学习笔记__Day3

十八、设置虚拟机的静态IP 1、VMware的三种网络模式 安装VMware Workstation Pro之后&#xff0c;会在Windows系统中虚拟出两个虚拟网卡&#xff0c;如下&#xff1a; VMware提供了三种网络模式&#xff0c;分别是&#xff1a;桥接模式&#xff08;Bridged&#xff09;、NAT…

QT+mysql+python 效果:

# This Python file uses the following encoding: utf-8 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QMessageBox from PySide6.QtGui import QStandardItemModel, QStandardItem # 导入需要的类# Important: # 你需要通过以下指令把 form.ui转为ui…

笔记本跑大模型尝试

1&#xff0c;笔记本电脑资源 我是一台联想笔记本电脑&#xff0c;基本配置如下&#xff1a; CPU&#xff1a;12th Gen Intel(R) Core(TM) i7-1255U 1.70 GHz (12核心&#xff0c;2个P核和8个E核&#xff0c;共计10个核心) 显卡&#xff1a;NVIDIA GeForce MX550 内存&am…

C语言实现扫雷游戏(有展开一片和标记雷的功能)

实现准备 分2个.c源文件和1个.h头文件去写代码 test.c 对扫雷游戏进行测试game.c 扫雷游戏功能的实现game.h 扫雷游戏功能的声明 扫雷游戏 1.test.c对扫雷游戏进行测试 首先我们要先把玩游戏的框架写出来&#xff0c;然后一步一步去完成其功能 跟着下面的代码的节奏走一步一步…

基础IO(2)

基础IO&#xff08;2&#xff09; 理解“⼀切皆⽂件” ⾸先&#xff0c;在windows中是⽂件的东西&#xff0c;它们在linux中也是⽂件&#xff1b;其次⼀些在windows中不是⽂件的东西&#xff0c;⽐如进程、磁盘、显⽰器、键盘这样硬件设备也被抽象成了⽂件&#xff0c;你可以使…