linux 传递n个参数,linux - 在Shell脚本中传递N个参数 - 堆栈内存溢出

我有一个外壳程序脚本,并且在该脚本中正在使用一个sql。

例如:

Select * from Table where city IN ( ‘Pais’, ‘london’, ‘Sydney’)

我的疑问是,如果我想将N个参数传递给我的Shell脚本,以便所有参数都可以在IN子句中进行设置,那么该怎么做。

我可以知道如何实现吗? 在完成有限数量的参数的情况下,但这对我来说是新场景。

更新:

实际脚本

#! /bin/bash

echo ID, CITY, SALARY, ACCT_NUM, DATE, AMOUNT > /home/joy/Apple/SMMRY_RESULT.csv

m_db unload /home/joy/IPC/target/send/sendFile.dbc -column_delimeter ',' -select "Select * from Table where CITY IN ( ‘Paris’, ‘london’, ‘Sydney’);" >> /home/joy/Output/Output_RESULT.csv

var=$? --Line 1

echo ID, CITY, SALARY, ACCT_NUM, DATE, AMOUNT > /home/joy/Apple/SMMRY_RESULT.csv

m_db unload /home/joy/IPC/target/send/sendFile.dbc -column_delimeter ',' -select "Select * from Table where DATE IN ( ‘2019-02-01’, '2019-02-02,' '2019-02-03');" >> /home/joy/Output/Output_RESULT.csv

var1=$? -- Line 2

if [["$var"==0 $$ "$var1==="]];

echo "" | mailx -a "/home/joy/Output/Output_RESULT.csv" -a "

/home/joy/Output/Output_RESULT.csv" -s "IPC DATA Output" 'kellyIPC@outlook.com' >

/dev/null

then

echo "Script Success and Mail Sent"

exit 0

else

echo "Script Failed"

exit 1

fi

问题:

1)如何在运行时给一个参数(一次汇总所有日期或城市)以编写脚本,以便它可以通过,因为一个值包含所有日期或城市,其中所有值都用单引号引起来并用逗号分隔?

For example sh myScript.sh "AllDatesAsFirstParameter" "AllCitiesAsSecondParameter"

2)我如何用特定的模式限制我的日期参数否则显示错误?

我在下面尝试过的一个(仅作为示例)

#! /bin/bash

echo "My Value: $1"

echo "My Second Value: $2"

sh myScript.sh One Two

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值