【发布时间】:2018-05-07 12:38:09
【问题描述】:
请让我用一些示例脚本来解释我的场景,它比我的实际应用程序简单得多,但表现出相同的行为:
对于演示,我使用了两个 bash shell 脚本。第一个叫argtest.sh 简单的输出命令行参数:
#/bin/bash
echo "Argument 1: $1"
echo "Argument 2: $2"
测试:
root@test:~# ./argtest.sh 1 2
Argument 1: 1
Argument 2: 2
和
root@test:~# ./argtest.sh "1 2" 3
Argument 1: 1 2
Argument 2: 3
这按预期工作
我创建了另一个这样的命令:
./argtest.sh $(for i in ` seq 1 2 ` ; do echo Number $i; done)
这是结果
Argument 1: Number
Argument 2: 1
我在Number 周围尝试了许多不同的引号 (") 和转义引号 (\") 组合,但没有任何组合产生所需的输出:
Argument 1: Number 1
Argument 2: Number 2
我怎样才能得到那个输出?
【问题讨论】: