目录
关键字:Linux、Shell、arm、终端、交叉编译器。
背景
在工作中,经常会同时维护几个项目,有时候不同的项目需要使用不同的交叉编译器进行编译,那么就需要对交叉编译工具链进行设置。如果把所有工具链加入全局环境变量,编译或运行的时候会出现各种莫名奇妙的问题。手动设置,有时候忙得头晕眼花,中途其他事打断一下又不知道设置情况。
其实设置一个脚本就好了,修改下命令提示符的内容,便没有哪些烦恼了。直接上效果图。
改变命令提示符的内容,大大提供了终端会话的效率和便捷性,一眼就能识别出工具链类型。
配置内容
脚本内容配置如下:
CUR=/imx6ull
export TOOLCHAINPATH=/toolchain
export PATH=$PATH:$TOOLCHAINPATH/imx6ull-toolchain/bin
export BUDIR=$TOOLCHAINPATH/imx6ull-toolchain
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$BUDIR/bin:$PATH
export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:`basename $CUR`:\[\033[01;34m\]\w\[\033[00m\]\$ "
实物贴图如下:
小知识
PS1是Linux和其他Unix-like系统中的一个环境变量,用于设置命令行的提示符。它允许用户根据自己的喜好和需求自定义命令提示符的显示内容和格式。通过PS1,用户可以在命令行中显示当前用户、主机名、工作目录、时间等动态信息,同时也可以通过特定的转义序列来设置提示符的颜色、样式等。
PS1可以包含纯文本和特殊的转义序列。转义序列以反斜杠(\)开始,用于插入动态信息或控制提示符的显示方式。以下是一些常见的转义序列及其含义:
\u
:当前用户的账号名称。\h
:仅取主机的第一个名字(不包括域名)。\H
:完整的主机名称。\w
:完整的工作目录名称。家目录会以~
代替。\W
:利用basename取得工作目录名称,即只显示最后一个目录。\t
:显示时间为24小时格式,如HH:MM:SS。\T
:显示时间为12小时格式。\A
:显示时间为24小时格式:HH:MM。\d
:代表日期,格式为weekday month date,例如“Mon Aug 1”。\$
:提示字符,如果是root用户,则提示符为#
;普通用户则为$
。