将两个参数传递给shell脚本

时间:2017-03-08 11:42:13

标签: bash shell scripting sqoop

我是一个非常新的shell脚本。我在shell脚本中运行了下面的sqoop命令,得到了结果。

shell脚本中的

sqoop命令

#!/bin/bash
while read table; do
sqoop eval --connect jdbc:mysql://127.0.0.1/mydb --username root --password cloudera --query "describe $table"
done<tables.txt

输入文件:tables.txt只有一个单词:MYTAB和Im gettting结果。

但是,当tables.txt中的数据如下所示,我如何编写一个脚本来从文件中获取两个参数:MYDB:MYTAB我想在脚本中将dbname和table name传递给我的sqoop命令,如下所示

#!/bin/bash
while read table; do
sqoop eval --connect jdbc:mysql://127.0.0.1/$dbname --username root --password cloudera --query "describe $table"
done<tables.txt

有人能告诉我如何从文件中提取值并将它们放在文件中吗?

1 个答案:

答案 0 :(得分:2)

在将正确的字段分隔符read设置为IFS

后,更改:语句
while IFS=":" read -r dbname table; do