2016-10-24 133 views
1

我有多个bash脚本来在多个目录中弹出Jboss实例。这些脚本接受参数使用单个bash脚本在diff目录中执行多个bash脚本

start |停止|重新加载|状态|重新开始。

/opt/xyz/x/X_FE.sh 
/opt/xyz/x/X_BE.sh 
/opt/xyz/y/Y_FE.sh 
/opt/xyz/y/Y_BE.sh 
/opt/xyz/z/Z_BE.sh 

我希望有它接受相同参数的单bash脚本,并执行所有上述5个脚本。

/opt/singlescript.sh start ---- must execute all the 5 scripts with start argument. 

任何帮助将不胜感激。

回答

0

它看起来像这样。有多种方法可以做到这一点,这只是一种方式

#!/bin/bash 
echo "invoking x/X_FE with $1" 
sh /opt/xyz/x/X_FE.sh $1 

echo "invoking x/X_BE with $1" 
sh /opt/xyz/x/X_BE.sh $1 

echo "invoking y/Y_FE with $1" 
sh /opt/xyz/y/Y_FE.sh $1 

echo "invoking x/Y_BE with $1" 
sh /opt/xyz/y/Y_BE.sh $1 

echo "invoking z/Z_FE with $1" 
sh /opt/xyz/z/Z_BE.sh $1 
+0

非常感谢。有效。 – Jithin

0

使用GNU并行它看起来像:

parallel ::: /opt/xyz/x/X_FE.sh /opt/xyz/x/X_BE.sh /opt/xyz/y/Y_FE.sh /opt/xyz/y/Y_BE.sh /opt/xyz/z/Z_BE.sh ::: start 
parallel ::: /opt/xyz/x/X_FE.sh /opt/xyz/x/X_BE.sh /opt/xyz/y/Y_FE.sh /opt/xyz/y/Y_BE.sh /opt/xyz/z/Z_BE.sh ::: stop 

如果他们不能在并行加法-j1运行:

parallel -j1 ::: /opt/xyz/x/X_FE.sh /opt/xyz/x/X_BE.sh /opt/xyz/y/Y_FE.sh /opt/xyz/y/Y_BE.sh /opt/xyz/z/Z_BE.sh ::: start