Linux 将函数命名为环境命令

Linux 将函数命名为环境命令,linux,shell,ksh,Linux,Shell,Ksh,我想知道是否有一种方法可以创建如下脚本: #!/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=Europ

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

#!/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,logic purpose),我想知道是否有办法让脚本知道我想运行local export()函数而不是environment命令

比如说

    export(){...}
    call function(export) 
是的,导出是shell中的保留字。您必须选择不同的名称

此外,您必须为shell脚本提供源代码,以将任何导出应用于当前shell,而不是他的儿子forked

如果确实要调用名为“export”的内容,请使用名为“export”的shell文件,例如在
/usr/local/bin
中:

/usr/local/bin/export bimbo lola juliet

尝试在ksh脚本中为函数使用不同的名称,而不是导出。它与系统函数导出混淆了,这让人困惑。@Lethal程序员您可能是对的,我只是好奇是否有办法