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

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

相关推荐
小飞侠在吗1 天前
vue toRefs 与 toRef
前端·javascript·vue.js
csuzhucong1 天前
斜转魔方、斜转扭曲魔方
前端·c++·算法
燃烧的土豆1 天前
100¥ 实现的React项目 Keep-Alive 缓存控件
前端·react.js·ai编程
半生过往1 天前
前端运行PHP 快速上手 使用 PHPStudy Pro 详细搭建与使用指南
开发语言·前端·php
zlpzlpzyd1 天前
ecmascript中Promise和async/await的区别
开发语言·前端·ecmascript
streaker3031 天前
从零实现一个“类微信”表情输入组件
前端·vue.js·element
小明记账簿_微信小程序1 天前
js、node.js获取指定文件下的内容
前端
小明记账簿_微信小程序1 天前
h5中弹框出现后禁止页面滚动
前端
一个有故事的男同学1 天前
从零打造专业级前端 SDK (一):架构与工程化
前端·架构
小胖霞1 天前
node全栈系列(七)-增加验证码登录
前端·vue.js·node.js