bash - 使用括号执行作为变量传递的命令

时间:2015-07-14 19:48:35

标签: bash shell unix

我有一个bash / shell脚本,基本上从变量执行命令。 我已经尝试过(2)不同的方式来编写它。将完整命令包含在另一个变量中,另一个变量中没有。 尽管有一些警告信息,但不会包含在parantheses ()(不在变量中)的那个将执行。

示例2将显示警告消息,然后停止程序。尽管有警告消息,如何让示例2继续运行?

示例1)

export CMD_BIN="$foobar_BASE/sqoop/bin"
export JDBC_CUSTREP="jdbc:postgresql://$2:5432"
export DBOWNER="db_$1"
export DIR_BASE="s4://output01/cust_$1"
export BROWSER="browser/current/part{*} --table browser --fields-terminated-by "\\\001" -- --schema dev_$1"
$CMD_BIN/sqoop export --connect $JDBC_CUSTREP/$DBOWNER --username $DBOWNER --password 'pa$$word' --export-dir $DIR_BASE/$BROWSER

示例2)

export foobar_BASE="/home/foobar"
export CMD_BIN="$foobar_BASE/sqoop/bin"
export JDBC_CUSTREP="jdbc:postgresql://$2:5432"
export DBOWNER="db_$1"
export DIR_BASE="s4://output01/cust_$1"

export BROWSER="browser/current/part{*} --table browser --fields-terminated-by '\001' -- --schema dev_$1"
export RUNCMD1 
RUNCMD1=$("$CMD_BIN"/sqoop export --connect "$JDBC_CUSTREP"/"$DBOWNER" --username "$DBOWNER" --password 'pa$$word' --export-dir "$DIR_BASE"/"BROWSER")

0 个答案:

没有答案