2017-09-20 44 views
2

我不知道是否有一種方式來創建一個腳本如下:名稱的功能作爲環境命令

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

嘗試在KSH腳本中使用不同的名稱爲函數,而不是的出口。它混淆了系統功能導出,這是混亂。 – LethalProgrammer

+0

@LethalProgrammer你可能是對的,我只是好奇,看看有沒有辦法 – Will

回答

1

是的,出口是在殼保留字。你必須選擇一個不同的名稱。

此外,你將不得不尋找你的shell腳本來應用任何導出到當前的shell而不是他的兒子,fork。

如果你真的想調用名爲「出口」的東西,使用名爲「出口」的一個shell文件,例如在/usr/local/bin

/usr/local/bin/export bimbo lola juliet