如何在shell脚本中只运行一次命令

时间:2015-08-19 23:01:12

标签: linux bash shell

我编写了bash shell脚本,它将下载工件并解压缩并将其复制到目标文件夹。 之后它会做更多的步骤。 我正在从mco命令运行这个脚本,它将在许多主机中并行执行。但我想限制一个特定的命令只执行一次。 我怎么做。 除了该命令之外的所有其他命令应该在所有主机中执行

myscript.sh:

if [ "$#" -eq 2 ]; then   
    Name=$1
    version=$2
    tarname=$Name"-"$version-SNAPSHOT.tar
    SNAPSHOT=$Name-$version-SNAPSHOT
    if [[ ! -e "/<path>/$tarname" && "/<path>/$SNAPSHOT" ]]; then

       do something  // this command i want to execute only once or only in one host. 
    fi

我像这样执行这个脚本:

mco shellcmd '/path/myscript.sh name version' -I /host-10[012345]/

此脚本一次在50个主机中执行,但一个微粒命令应该只在一个主机/一次执行。

我们该怎么做。

谢谢,

1 个答案:

答案 0 :(得分:0)

检查主机名:

if [[ "$HOSTNAME" == "foobar" ]]; then
  echo "execute command here"
fi