【问题标题】:Name a function as an environment command将函数命名为环境命令
【发布时间】:2017-09-20 08:29:45
【问题描述】:

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

#!/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) 

【问题讨论】:

  • 尝试在您的 ksh 脚本中为函数使用不同的名称,而不是导出。它与系统函数导出混在一起,令人困惑。
  • @LethalProgrammer 你可能是对的,我只是想看看有没有办法

标签: linux shell ksh


【解决方案1】:

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

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

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

/usr/local/bin/export bimbo lola juliet

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2021-01-03
    • 2021-10-17
    相关资源
    最近更新 更多