执行字符串命令 - Bash
Executing a string command - Bash
我有以下命令行:
egrep '^[0-9]' /etc/hosts | grep -v 127.0.0.1 | awk 'NR==1{ips=} NR>1{ips=ips ", " } =="namenode"{nn=} END{ printf "/opt/mapr/server/configure.sh -C %s -Z %s -N mycluster --create-user -D /dev/xvdb\n", ips, nn}'
这将生成一个命令行,我将在我的厨师食谱中使用它来启动一个 MapR
集群:
/opt/mapr/server/configure.sh -C 10.32.237.251 -Z 10.32.237.251 -N mycluster --create-user -D /dev/xvdb
我的第一个命令只打印出那个命令。我如何修改该命令或添加任何其他内容以自动执行由 awk
?
生成的命令
通过管道传送到 shell:
egrep '^[0-9]' /etc/hosts | grep -v 127.0.0.1 \
| awk 'NR==1{ips=}
NR>1{ips=ips ", " }
=="namenode"{nn=}
END{ printf "/opt/mapr/server/configure.sh -C %s -Z %s -N mycluster --create-user -D /dev/xvdb\n", ips, nn}' \
| bash
我有以下命令行:
egrep '^[0-9]' /etc/hosts | grep -v 127.0.0.1 | awk 'NR==1{ips=} NR>1{ips=ips ", " } =="namenode"{nn=} END{ printf "/opt/mapr/server/configure.sh -C %s -Z %s -N mycluster --create-user -D /dev/xvdb\n", ips, nn}'
这将生成一个命令行,我将在我的厨师食谱中使用它来启动一个 MapR
集群:
/opt/mapr/server/configure.sh -C 10.32.237.251 -Z 10.32.237.251 -N mycluster --create-user -D /dev/xvdb
我的第一个命令只打印出那个命令。我如何修改该命令或添加任何其他内容以自动执行由 awk
?
通过管道传送到 shell:
egrep '^[0-9]' /etc/hosts | grep -v 127.0.0.1 \
| awk 'NR==1{ips=}
NR>1{ips=ips ", " }
=="namenode"{nn=}
END{ printf "/opt/mapr/server/configure.sh -C %s -Z %s -N mycluster --create-user -D /dev/xvdb\n", ips, nn}' \
| bash