9

我有很多脚本外壳,我想在这个外壳中包含一个包含变量的文件

脚本?

我的 var 脚本:

###################################################################################
ORACLE_LOGIN=login
ORACLE_PWD=pwd
CHEMIN_1="/home/"
CHEMIN_2="/scripts/"
LOG_FILE="$CHEMIN_1/max.log"
export ORACLE_SID=oracle_sid
###################################################################################

我的脚本 sh:

#!/bin/ksh
#set -x

# ==============   LOAD VAR HERE  ====================================
????

##################################################################
####                          Begin                           ####
##################################################################

write "Begin $0"  

$ORACLE_HOME/bin/sqlplus -s $ORACLE_LOGIN/$ORACLE_PWD@$ORACLE_SID <<EOF >> $LOG_FILE 2>&1 
@$CHEMIN_2/sp_rep_alim_dia_date_max.sql
exit
EOF

write "End."

谢谢。

4

4 回答 4

16

这取决于哪个 shell,但是这两个中的一个通常可以工作:

. var

或者

source var

我不确定ksh,但我想两者都会起作用。

于 2013-07-08T15:15:44.623 回答
5
. ./name_of_the_var_script

那是点 + 空格 + 点 + 斜线 + 文件名(因为“点”实用程序需要 var 脚本的绝对或相对路径)。

于 2013-07-08T15:15:38.263 回答
2

使用.(点)命令获取文件

. var_script

一张纸条:

  • 如果文件名不包含斜杠,那么 bash 将尝试在 $PATH中找到它。
  • 如果在 PATH 中找不到,将使用当前目录(除非 bash 处于 POSIX 模式)。

参考.手册中的[命令][来源]。

因此,如果您知道它在哪里,请使用相对/绝对路径。[来源]:https ://www.gnu.org/software/bash/manual/bash.html#index-_002e

于 2013-07-08T15:15:32.027 回答
0

source var为我工作。此链接将所有变量从一个 shellscript 传递到另一个?对这个问题有很好的解释

// 希望这可以帮助..

于 2014-03-03T05:12:39.917 回答