Created
December 21, 2023 02:58
-
-
Save timsu92/ddd8558f4d2de0228b8fd7f5109341b3 to your computer and use it in GitHub Desktop.
手動掛載磁碟區進WSL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# 檢查是否有參數並處理 --help 選項 | |
if [ $# -ne 1 ]; then | |
echo "參數數量不正確,請使用 --help 參數獲得說明。" | |
exit 1 | |
elif [ "$1" == "--help" ]; then | |
echo "使用說明: $0 <drive_letter>" | |
echo " <drive_letter>: 單個字母參數 (a 到 z 或 A 到 Z)" | |
exit 0 | |
fi | |
# 檢查參數是否為一個字母 (a 到 z 或 A 到 Z) | |
if [[ ! "$1" =~ ^[a-zA-Z]$ ]]; then | |
echo "參數必須為一個字母 (a 到 z 或 A 到 Z)。請使用 --help 參數獲得說明。" | |
exit 1 | |
fi | |
# 轉換輸入字母參數為小寫 | |
drive_letter=$(echo "$1" | tr '[:upper:]' '[:lower:]') | |
# 檢查/mnt/<drive_letter>是否存在 | |
if [ -f "/mnt/$drive_letter" ]; then | |
sudo rm "/mnt/$drive_letter" | |
sudo mkdir "/mnt/$drive_letter" | |
elif [ -d "/mnt/$drive_letter" ]; then | |
# 檢查是否該資料夾已存在並且被掛載 | |
if mountpoint -q "/mnt/$drive_letter"; then | |
echo "資料夾 /mnt/$drive_letter 已被掛載到以下裝置:" | |
mount | grep "/mnt/$drive_letter" | |
exit 1 | |
fi | |
else | |
# 資料夾不存在,創建它 | |
sudo mkdir "/mnt/$drive_letter" | |
fi | |
# 嘗試掛載裝置 | |
if sudo mount -t drvfs "$drive_letter": "/mnt/$drive_letter" -o rw,noatime,dirsync,uid=$(id -u $USER),gid=$(id -g $USER),mmap,access=client,msize=262144,trans=virtio,metadata; then | |
echo "裝置 $drive_letter 成功掛載到 /mnt/$drive_letter。" | |
else | |
echo "無法掛載裝置 $drive_letter 到 /mnt/$drive_letter。" | |
exit 1 | |
fi | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment