将函数命名为环境命令

时间:2017-09-20 08:29:45

标签: 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=Europe/Paris
HOME=/home/autosys
...

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

例如

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

1 个答案:

答案 0 :(得分:1)

是的,导出是shell中的保留字。您 必须选择其他名称。

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

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

/usr/local/bin/export bimbo lola juliet