Ksh

AIX ksh 腳本,用於根據遠端文件的定義在本地定義導出的變數

  • June 6, 2016

我必須從另一台伺服器上的遠端文件中獲取“導出”行,然後動態設置目前的 sh 會話環境。

但是,echo with export 似乎不起作用。

echo export CONFIGA=configurationA

我嘗試將這個腳本創建得盡可能通用和簡單,因為遠端文件中有許多導出語句,並且並非全部都使用。我需要的那些將由某些模式決定,但這些語句的數量也是動態的。

現在我想知道這是否可以在 ksh 腳本中完成,但目前我沒有其他選擇。

可能有一種更優雅的方法可以做到這一點,但您可以將所需的變數從遠端文件中提取到本地臨時文件中:

file=/tmp/tempfile.$RANDOM ## AIX doesn't come with mktemp
> $file || echo Failed to pick a good tempfile name
grep "export CONFIG.=" some-file > $file

然後使用.內置讀取該文件:

. $file

當然,清理:

rm $file

引用自:https://unix.stackexchange.com/questions/287876