以下是實現該功能的 Bash 腳本:
bash
#!/bin/bash
LINK_PATH=“/opt/wslibs-cuda11.8”
檢查是否為軟鏈接
if [ -L "KaTeX parse error: Expected 'EOF', got '#' at position 24: …H" ]; then#? 獲取軟鏈接的絕對目標路徑…(readlink -f “$LINK_PATH”)
# 提取目錄部分(去掉文件名)
TARGET_DIR=$(dirname "$TARGET_PATH")# 在當前目錄創建對應目錄結構
mkdir -p "${PWD}${TARGET_DIR#/}" # 轉換為當前目錄下的路徑echo "軟鏈接目標目錄已創建:${PWD}${TARGET_DIR#/}"
else
echo “$LINK_PATH 不是軟鏈接”
exit 1
fi
關鍵點解釋:
軟鏈接檢測
[ -L "$LINK_PATH" ] 檢查指定路徑是否為符號鏈接獲取真實路徑
readlink -f 解析軟鏈接并返回絕對路徑(包括處理多級鏈接)路徑轉換
${TARGET_DIR#/} 去除路徑開頭的 /,將絕對路徑轉換為相對路徑目錄創建
mkdir -p 遞歸創建目錄,自動處理父目錄
示例:
假設軟鏈接指向 /usr/local/cuda-11.8,腳本會在當前目錄創建:
./usr/local/cuda-11.8
使用方法:
將腳本保存為 create_link_dir.sh
賦予執行權限:
chmod +x create_link_dir.sh
運行腳本:
sudo ./create_link_dir.sh
(需要 root 權限修改 /opt 目錄)
注意事項:
腳本會直接在 /opt 目錄操作,請確保有足夠權限
已存在的目錄不會報錯(mkdir -p 的特性)
支持包含空格的路徑(通過引號包裹變量)