shell实现批量创建交叉编译工具软链接
阅读原文时间:2023年07月15日阅读:1

在学习嵌入式过程中,常常用到交叉编译工具,而原本的交叉工具链比较长,不利于记忆以及使用,

解压后的交叉编译工具链如下图所示

为了更好的使用交叉编译工具与其他开发者保持一致,经常需要用到软链接。

NAME
ln - make links between files

SYNOPSIS
ln [OPTION]… [-T] TARGET LINK_NAME (1st form)
ln [OPTION]… TARGET (2nd form)
ln [OPTION]… TARGET… DIRECTORY (3rd form)
ln [OPTION]… -t DIRECTORY TARGET… (4th form)

这么多交叉工具链,难不成一个一个创建软链接?????????????

明显是不可能的,作为一个程序员怎么可能会做如此机械性的操作!!!!!!!!

而shell编程就可以很好的解决这个问题。

附上源码:

#!/bin/bash

get all filename in specified path

path=$1
pathheart="arm-linux-"
files=$(ls $path)
for filename in $files
do
if [ "${filename:0:3}" = "arm" ];then
pathtail=${filename#*arm-none-linux-gnueabi-}
echo $pathtail
ln -s $filename $pathheart$pathtail
fi
done

终端输入:

hyx@hyx:/mnt/hgfs/Linux$ sudo su

root@hyx:/mnt/hgfs/Linux# cp link.sh /usr/local/bin/arm64/arm-2014.05/bin/

root@hyx:/mnt/hgfs/Linux# cd /usr/local/bin/arm64/arm-2014.05/bin/

root@hyx:/usr/local/bin/arm64/arm-2014.05/bin# bash link.sh ./

注:/usr/local/bin/arm64/arm-2014.05/bin/为交叉编译工具所在路劲

做到这,所用软链接就创建好啦~~~