将函数命名为环境命令

Name a function as an environment command

我想知道是否有一种方法可以创建如下脚本:

#!/bin/ksh
export() {
echo "We're in the local function"
}
export

主要问题是export是一个环境命令,用于设置变量或环境变量的值,所以当这个脚本是运行时,它只会提示类似:

LOGIN=autosys
LOGNAME=autosys
MAIL=/usr/spool/mail/autosys
PWD=/home/autosys/wlp
SHELL=/usr/bin/ksh
TZ=Europe/Paris
HOME=/home/autosys
...

显然我可以用不同的名称命名我的函数,但由于我很好奇(并且因为这个函数真的应该命名为导出,逻辑目的),我想知道是否有办法让脚本知道我想要运行 本地 export() 函数而不是环境命令。

例如

    export(){...}
    call function(export) 

是的,export 是 shell 中的 保留字 。您必须选择一个不同的名称。

此外,您将必须获取您的 shell 脚本以将任何导出应用到当前 shell 而不是他的儿子,forked。

如果你真的想调用名为“export”的东西,使用一个名为“export”的shell文件,例如在/usr/local/bin:

/usr/local/bin/export bimbo lola juliet