【发布时间】:2010-12-31 23:35:41
【问题描述】:
我有一个 bash 脚本,它的参数用双引号括起来,它在给定的边界内创建地图的形状文件,例如
$ export_map "0 0 100 100"
在脚本中,有两个select 语句:
select ENCODING in UTF8 WIN1252 WIN1255 ISO-8859-8;
...
select NAV_SELECT in Included Excluded;
自然,这两个语句都需要输入一个数字作为输入。这可以通过将数字和换行符传递到脚本来绕过。
为了节省时间,我想要一个脚本来创建 8 个地图 - 为 ENCODING(4 个选项)和 NAV_SELECT(2 个选项)的每个组合。
我已经编写了另一个 bash 脚本 create_map 作为包装器到服务器:
#!/bin/bash
for nav in 1 2 3 4;
do
for enc in 1 2;
do
printf "$nav\n$enc\n" | /bin/bash -c "./export_map.sh \"0 0 100 100\""
done
done
**这可行(谢谢Brian!),但我找不到从外部脚本外部传递数字参数"0 0 100 100" 的方法。 **
基本上,我正在寻找将双引号内的参数接受到包装器 bash 脚本的方法,然后将其与双引号一起传递给内部脚本。
澄清:
export_map是主脚本,被create_map调用了8次。
有什么想法吗?
谢谢,
亚当
【问题讨论】:
-
我有点不清楚你想在这里做什么。您说您正在尝试使用
select语句做某事,但您的 bash 脚本中没有 select 语句。您在不同的行上打印出两个数字,并将其传递到您未提供代码的export_map.sh脚本的调用中(它与您之前提到的create_map相同吗?)。我也不清楚您的报价问题出现在哪里。您能否尝试详细说明您到底想要做什么,以及您遇到的确切问题? -
我已经澄清了我的答案 - 非常感谢。