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