目標:
使用 日本阿里云的?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
結束:
如果今后頻繁使用,再去找到相關的應用,或起個項目用編程來實現,現在腳本是最快的方案。
?
年新快樂~