当前位置: 首页 > news >正文

bash 判断 /opt/wslibs-cuda11.8 是否为软连接, 如果是,获取连接目的目录并自动创建

以下是实现该功能的 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 的特性)
支持包含空格的路径(通过引号包裹变量)
http://www.dtcms.com/a/270824.html

相关文章:

  • 基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(2)对框架加入业务逻辑层
  • 金融时间序列机器学习训练前的数据格式验证系统设计与实现
  • React对于流式数据和非流式数据的处理和优化
  • 【实战】Dify从0到100进阶--知识库相关模型原理
  • 【编程史】IDE 是谁发明的?从 punch cards 到 VS Code
  • 【Python基础】变量、运算与内存管理全解析
  • Vue的watch和React的useEffect
  • 第4章:实战项目一 打造你的第一个AI知识库问答机器人 (RAG)
  • SQL Server 2008R2 到 2012 数据库迁移完整指南
  • Debezium:一款基于CDC的开源数据同步工具
  • css支持if else
  • css sprites使用
  • tailwindcss详解
  • CSS中的Element语法
  • WSL创建Ubuntu子系统与 VS code 开发
  • IT系统安全刚需:绝缘故障定位系统
  • 无线鼠标产品整体技术分析总结
  • python+vue的会议室预定管理系统
  • 编译安装zabbix7.2
  • idea2023.1.1配置scala并创建第一个Scala工程
  • Rust赋能美团云原生DevOps实践
  • Docker 高级管理--容器通信技术与数据持久化
  • 离线在docker环境使用vllm部署qwen3
  • JAVA如何实现Redis同步
  • 华为动态路由配置
  • 【图像处理基石】图像超分辨率有哪些研究进展值得关注?
  • ARM单片机OTA解析(一)
  • 图像处理中的凸包检测:原理与实现
  • MS32C001-C单片机,32位ARM M0+内核,宽电压、低功耗、小封装。
  • 图像处理中的模板匹配:原理与实现