2024-01-29 ubuntu 用脚本设置安装交叉编译工具链路径方法,设置PATH环境变量

一、设置PATH环境变量的方法,建议用~/.bash_profile的方法,不然在ssh登录的时候可能没有设置PATH.

二、下面的完整的脚本,里面的echo "export PATH=build_toolchain_path:\\PATH" >> $HOME/.bashrc 就是把交叉编译路径写写到.bashrc设置PATH环境变量。

复制代码
#!/bin/bash

# command to install toolchain in the "dirname" which you Specified.
# source ./env_install_toolchain.sh dirname
INSTALL_TARGET_DIR=
toolchain_cross=`pwd`
toolchain_cross=$(basename ${toolchain_cross})
if [ -n "$1" ]; then
	if [ -d "$1" ]; then
		INSTALL_TARGET_DIR=$1
		build_toolchain_path="${INSTALL_TARGET_DIR}/$toolchain_cross/bin"
	else
		echo "error: not found dir $1"
		echo "command format: source $0 [dirname]"
		echo "     [dirname] is optional"
		return 1
	fi
else
	build_toolchain_path="${PWD}/bin"
fi

# default 1
selectopt=1

case $selectopt in
        0)
                if [ -n "$INSTALL_TARGET_DIR" ]; then
                        sudo cp -rfa $PWD $INSTALL_TARGET_DIR
                fi
                sudo echo "export PATH=$build_toolchain_path/:\$PATH" >> /etc/profile
                source /etc/profile
                ;;
        1)
                if [ -n "$INSTALL_TARGET_DIR" ]; then
                        cp -rfa $PWD $INSTALL_TARGET_DIR
                fi
                cmdsed="sed -i '/^export PATH.*${toolchain_cross}\/bin/d' \$HOME\/.bashrc"
                eval $cmdsed
                echo "export PATH=$build_toolchain_path:\$PATH" >> $HOME/.bashrc
                source $HOME/.bashrc
                cmdsed="sed -i '/^export PATH.*${toolchain_cross}\/bin/d' \$HOME\/.bash_profile"
                eval $cmdsed
                echo "export PATH=$build_toolchain_path:\$PATH" >> $HOME/.bash_profile
                source $HOME/.bash_profile
                ;;
        *)
                echo "Please check input."
                ;;
esac

三、运行完上面的脚本之后的效果。

相关推荐
很晚很晚了11 小时前
纯前端转全栈 Day 1:我从第一个 NestJS 接口开始
前端
Lee川12 小时前
从零解剖一个 AI Agent Tool是如何实现的
前端·人工智能·后端
wangruofeng13 小时前
Playwright 深度调研:为什么它成了浏览器自动化的新底座
前端·测试
李白的天不白15 小时前
SSR服务端渲染
前端
lifewange15 小时前
Redis 集合(Set)运算完全指南
数据库·chrome·redis
卷帘依旧16 小时前
SSE(Server-Sent Events)完全指南
前端
码云之上16 小时前
万星入坞:我们如何用三层插件体系干掉巨石应用
前端·架构·前端框架
kyriewen16 小时前
一口气讲清楚 Monorepo、Turborepo、pnpm、Changesets 到底是什么?
前端·架构·前端工程化
IT_陈寒17 小时前
React性能优化踩的坑,这个错你可能也会犯
前端·人工智能·后端
zhangxingchao18 小时前
AI应用开发三:RAG技术与应用
前端·人工智能·后端