【符号链接】【bash】遍历目录下的每个子项目

git_repos目录下的每个项目创建符号链接(软链接),需要遍历该目录下的每个子项目,并使用ln -s命令为它们分别创建链接。 

1. 创建脚本文件

创建一个文本文件来编写你的脚本。这可以通过任何文本编辑器完成,比如nano, vim, 或是gedit等。

gedit为例,在命令行运行以下命令来创建一个新的脚本文件

gedit git_repos_ln_script.sh

2. 编写脚本

#!/bin/bash# 源目录,即包含git项目的目录
SOURCE_DIR=~/git_repos# 目标目录,即你想在其中创建符号链接的地方
TARGET_DIR=~/catkin_ws_madar_robot/src/links# 检查目标目录是否存在,如果不存在则创建
if [ ! -d "$TARGET_DIR" ]; thenmkdir -p "$TARGET_DIR"
fi# 遍历源目录下的每个项目
for project in "$SOURCE_DIR"/*; doproject_name=$(basename "$project") # 提取项目名target_link="$TARGET_DIR/$project_name" # 目标链接路径# 检查是否已存在同名的链接或文件if [ -e "$target_link" ]; thenecho "存在同名文件或链接:$target_link,将其移除."rm -rf "$target_link" # 强制移除文件或链接fi# 创建符号链接ln -s "$project" "$target_link"echo "已创建链接:$project -> $target_link"
doneecho "所有项目的符号链接已成功创建在 $TARGET_DIR"

3. 给脚本文件执行权限

chmod +x git_repos_ln_script.sh

4.运行脚本

在脚本文件所在的目录下,使用以下命令运行脚本:

./git_repos_ln_script.sh

  • Bash脚本可以包含任何在命令行中手动运行的命令。

  • 通过在命令前加#来添加注释,以提高脚本的可读性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/536611.html

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

相关文章

建设IAM/IDM统一身份管理,实现系统之间的单点登录(SSO)

企业实施身份管理的现状: 1.身份存储分散,不能统一供应诸多应用系统,企业用户信息常常存在于多个系统,如HR系统有一套用户信息,OA系统也有一套用户信息,身份存储不集中,不能统一地为诸多应用系…

linux系统docker容器可视化工具portainer

可视化工具portainer portainer可视化工具安装官网安装步骤docker命令安装创建admin登录后,选择local选项卡 中文版本 portainer可视化工具 portainer是一款轻量级应用,他提供图形化界面,用于方便的管理docker环境,包括单机环境和…

Pikachu 靶场搭建

文章目录 1 Pikachu 简介2 Pikachu 安装 1 Pikachu 简介 Pikachu是一个使用“PHP MySQL” 开发、包含常见的Web安全漏洞、适合Web渗透测试学习人员练习的靶场,运行Pikachu需要提前安装好“PHP MySQL 中间件” 的基础环境,可以使用集成软件来搭建&…

React路由结合Material UI的ListItemButton组件完成导航示例

React路由结合Material UI的ListItemButton组件完成导航示例 1、创建菜单列表NavigationList.jsx2、App.js 1、创建菜单列表NavigationList.jsx import React from react; import { ListItemButton, ListItemText, List } from mui/material; import { NavLink as RouterLink …

服务器折腾日志

突发噩耗:服务器用不了了。 具体表现为:可以进BIOS系统,但到了登陆界面键鼠失灵,无法输入密码 搜博客,曰: 解决键鼠失灵 1.进入命令行,执行: sudo apt install xserver-xorg-inp…

LeetCode-337题:打家劫舍III(原创)

【题目描述】 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列 输入: root [3,2,3,null,3,…

vue上传文件夹+上传文件vue-simple-uploader

vue上传文件夹上传文件vue-simple-uploader 使用插件 在main.js引入 import uploader from vue-simple-uploaderVue.use(uploader);<el-dialog title"上传文件" :visible.sync"dialogFileVisible" width"50%" :before-close"handleFil…

从零开始学习深度学习库-1:前馈网络

你好&#xff01;欢迎来到这个系列的第一篇文章&#xff0c;我们将尝试用Python构建自己的深度学习库。在这篇文章中&#xff0c;我们将开始编写一个简单的前馈神经网络。我们将仅在这篇文章中处理前向传播&#xff0c;并在下一篇文章中处理网络的训练。这篇文章将介绍基本的前…

学习网络安全:记一次某网站渗透测试过程

本文作者&#xff1a; 汇智知了堂信安教学老师——辉哥 一、信息收集 网站界面 网站信息收集 &#xff08;1&#xff09;中间件信息 &#xff08;2&#xff09;目录扫描 思路&#xff1a;由于是cms的站&#xff0c;针对这种情况&#xff0c;我们可以收集cms的默认目录结构来…

java内部类的作用与优缺点

一、前言 很久没看到java内部类了&#xff0c;今天在审查代码时候&#xff0c;发现了java内部类&#xff0c;主要是内部类还嵌套了内部类。于是记录一下 二、java内部类的作用与优缺点 Java内部类&#xff0c;也称为嵌套类&#xff0c;是定义在另一个类&#xff08;外部类&am…

1.1计算机系统构成及硬件系统知识(上)

基础知识部分----chap01 主要议题&#xff1a; 数制转换&#xff1a;一般会涉及存取的计算&#xff1b;ip地址中变长子网掩码的计算题&#xff1b;&#xff08;难度较大&#xff09; 数的表示&#xff1a;二进制、十六进制&#xff1b; 计算机的组成&#xff1a;考察的较为深入…

【Java语言】遍历List元素时删除集合中的元素

目录 前言 实现方式 1.普通实现 1.1 使用【for循环】 方式 1.2 使用【迭代器】方式 2.jdk1.8新增功能实现 2.1 使用【lambda表达式】方式 2.2 使用【stream流】方式 注意事项 1. 使用【for循环】 方式 2. 不能使用增强for遍历修改元素 总结 前言 分享几种从List中移…