我有一个重复设置remoteCommand
,如果可能的话,我想将其添加到通配符主机中。
这是一个截断的片段:
host container-server
host container-1
remoteCommand docker exec -it containerHostname-01 bash
host container-2
remoteCommand docker exec -it containerHostname-02 bash
host container-2
remoteCommand docker exec -it containerHostname-02 bash
host *
user <user>
requestTTY yes
identityFile ~/.ssh/key
strictHostkeyChecking no
userKnownHostsFile /dev/null
preferredAuthentications publicKey
hostname <hostname of container server>
由于containerHostname-0<int>
所有值都相差一个整数,我假设这是不可能完成的,而且我已经研究了好几天,但什么也没回来,所以有可能吗?
答案1
正如您所猜测的,该ssh
配置不允许使用变量或循环。
因此,据我所知,您不能使用通配符为不同编号的主机生成不同的命令。
相反,您可以使用 shell 生成一个配置文件,此处bash
选择:
for i in {1..10}; do
printf '%s\n' "host container-${i}\n\tremoteCommand docker exec -it containerHostname-${i} bash" >> file
done