/bin/bash 三元变量赋值

/bin/bash ternary var assignment

我早上大部分时间都在这个,但不得不工作,所以我回来了,希望有人能帮我解决这个问题。

这条线有效

 dest="$user@$dest:$( hostname )"
 # dest=me@remotehost.com:MyMachineHostname

这就像我真的很挣扎一样,我希望能够 运行 只需上传文件并设置 cron 作业即可在多个主机上完成此操作。

dir=$(( $unique == 1 ? ":"$( hostname ) : "" ))
dest="$user@$dest$dir"

当 unique == 1 时,冒号和主机名可以设置为 $dir,否则应该为空。

这绝对不是PHP,难多了

我尝试了很多方括号变体,大括号没有任何没有 $ 我得到的最接近的是 :myhostname 但周围有很多其他字符。

很郁闷

if (( unique )); then
  dir=:$(hostname)
fi
dest="$user@$dest$dir"