You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用AIX系统中/usr/bin/sh清除LIBPATH等环境变量的行为?

AIX系统中/usr/bin/sh清除LIBPATH等环境变量的问题及解决方案需求

我希望shell不要修改LIBPATH及多数其他环境变量。在部分而非全部AIX系统中,/usr/bin/sh(作为system(3)背后的shell)会清除LIBPATH、LD_LIBRARY_PATH和NLSPATH变量,但ksh和bash没有这种行为。

测试脚本

export LIBPATH=/none1 LD_LIBRARY_PATH=/none2 NLSPATH=/none3 LiBPATH=/none4
for shell in /usr/bin/sh ksh bash; do
    echo "=== $shell"
    $shell -c env | grep /none
done

预期输出(无变量清除的AIX系统)

=== /usr/bin/sh
LiBPATH=/none4
NLSPATH=/none3
LIBPATH=/none1
LD_LIBRARY_PATH=/none2
=== ksh
LiBPATH=/none4
NLSPATH=/none3
LIBPATH=/none1
LD_LIBRARY_PATH=/none2
=== bash
LiBPATH=/none4
NLSPATH=/none3
LIBPATH=/none1
LD_LIBRARY_PATH=/none2

存在变量清除行为的系统输出

=== /usr/bin/sh
LiBPATH=/none4
=== ksh
LiBPATH=/none4
NLSPATH=/none3
LIBPATH=/none1
LD_LIBRARY_PATH=/none2
=== bash
LiBPATH=/none4
NLSPATH=/none3
LIBPATH=/none1
LD_LIBRARY_PATH=/none2

问题

如何禁用该变量清除行为?我希望通过禁用它恢复system(3)与旧版AIX及Linux的兼容性。

系统差异

  • 截至2023-05-11,$(oslevel -s)=7200-04-03-2038的系统不会清除这些变量。
  • 2023-05-12该系统经变更重启后,开始清除变量,系统版本仍为7200-04-03-2038(主机为gcc119.fsffrance.org,属于GCC编译农场)。
  • oslevel为7100-05-06-2028的系统(gcc111.fsffrance.org,GCC编译农场成员)不会清除变量。

变量清除系统的shell版本

$ lslpp -l bos.rte.shell
  Fileset                      Level  State      Description         
  ----------------------------------------------------------------------------
Path: /usr/lib/objrepos
  bos.rte.shell              7.2.4.2  COMMITTED  Shells (bsh, ksh, csh)

Path: /etc/objrepos
  bos.rte.shell              7.2.4.2  COMMITTED  Shells (bsh, ksh, csh)
$ ls -l /usr/bin/ksh /usr/bin/sh
-r-xr-xr-x    5 bin      bin          317840 Sep 23 2020  /usr/bin/ksh
-r-xr-xr-x    5 bin      bin          317840 Sep 23 2020  /usr/bin/sh

系统包版本信息

$ lslpp -Lc all | grep ':[0-9]\{4\}$' | sed 's/.*://' | sort | uniq -c
   1 1241
 297 1543
   2 1614
   8 1642
   6 1731
   4 1806
  42 1837
  46 1845
   2 1913
 332 1937
  43 2015
   1 2027
 117 2037

内容的提问来源于stack exchange,提问作者Noah Misch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:09:57