linux添加临时变量,linux – 设置临时环境($PATH)

当我有几个要设置的变量时,我编写了一个包装器脚本,然后我将其用作我想要修改的命令的前缀.这让我也可以使用前缀

>应用于单个命令,例如make,或

>初始化shell,以便后续命令使用更改的设置.

我用包装纸

>设置编译器选项(例如clang,设置CC变量,使配置脚本“看到”它作为选择的编译器),

>设置区域设置变量,使用POSIX C与en_US和en_US.UTF-8等进行测试.

>在减少的环境中进行测试,例如在cron中.

每个包装器都会执行识别正确PATH,LD_LIBRARY_PATH和类似变量所需的内容.

例如,我在大约十年前编写了这个特殊脚本来测试本地构建的python:

#!/bin/bash

ver=2.4.2

export TOP=/usr/local/python-$ver

export PATH=$TOP/bin:$PATH

export LD_LIBRARY_PATH=`newpath -n LD_LIBRARY_PATH -bd $TOP/lib $TOP/lib/gcc/i686-pc-linux-gnu/$ver`

if test -d $TOP

then

exec $*

else

echo no $TOP

exit 1

fi

并将其用作-python-2.4.2 myscript.

一些包装器只是调用另一个脚本.

例如,我在configure脚本周围使用这个包装器来设置交叉编译的变量:

#!/bin/sh

# $Id: cfg-mingw,v 1.7 2014/09/20 20:49:31 tom Exp $

# configure to cross-compile using mingw32

BUILD_CC=${CC:-gcc}

unset CC

unset CXX

TARGET=`choose-mingw32`

if test -n "$TARGET"

then

PREFIX=

test -d /usr/$TARGET && PREFIX="--prefix=/usr/$TARGET"

cfg-normal \

--with-build-cc=$BUILD_CC \

--host=$TARGET \

--target=$TARGET \

$PREFIX "$@"

else

echo "? cannot find MinGW compiler in path"

exit 1

fi

其中choose-mingw32和cfg-normal是脚本,它们(a)找到交叉编译器的可用目标名称,以及(b)为configure脚本提供其他选项.

其他人可能会建议shell别名或函数.我没有为此目的使用它们,因为我的命令行shell通常是tcsh,而我从(a)其他shell脚本,(b)directory editor或(c)text-editor运行这些命令.那些使用POSIX shell(除了当然,对于需要特定功能的脚本),制作少量使用的别名或功能.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值