Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 260
  • Last Modified:

linux shell substitute variable

I have list of tables in t.txt file, I need to substitute all the ${table} instance with the table name in t.txt file. the challenge here is after the single quote, the ${table} variable will not be substituted, like the following code, only the first ${table} will be substituted, the last two does not. How can I do this? Thanks.

for table in `cat t.txt`
do

curl -XPUT "http://localhost:9200/_river/${table}_river/_meta" -d '{
    "type" : "jdbc",
    "jdbc" : {
        "driver" : "oracle.jdbc.driver.OracleDriver",
        "url" : "jdbc:oracle:oci:@test",
        "user" : "test",
        "password" : "test",
        "sql" : "select * from ${table} where rownum<3"
    },
    "index" : {
        "index" : "database",
        "type" : "${table}"
    }
}' 

done

Open in new window

0
xiaoyunwu
Asked:
xiaoyunwu
1 Solution
 
ozoCommented:
curl -XPUT "http://localhost:9200/_river/${table}_river/_meta" -d '{
    "type" : "jdbc",
    "jdbc" : {
        "driver" : "oracle.jdbc.driver.OracleDriver",
        "url" : "jdbc:oracle:oci:@test",
        "user" : "test",
        "password" : "test",
        "sql" : "select * from '${table}' where rownum<3"
    },
    "index" : {
        "index" : "database",
        "type" : "'${table}'"
    }
}'
0
 
xiaoyunwuAuthor Commented:
Thank you, ozo!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Tackle projects and never again get stuck behind a technical roadblock.
Join Now