Bash 脚本:两个 ssh 命令后的 for 循环

Bash 脚本:两个 ssh 命令后的 for 循环

下列的双击 SSH 并执行交互式 shell,我需要在两个 ssh 命令后运行两种类型的循环:

#!/bin/bash/expect
ssh -t -t server.com ssh -t -t virtualHostName '"

declare -a arr=("element1" "element2" "element3");
for a in "${arr[@]}" ; do echo $a; done;

for a in $(arp -a | tail -n+2 | cut -d\  -f1)
do
    echo "Connected to $a"
done

#arp -a #This works
#traceroute admin #This works
echo Terminating "'

但是,第一个循环没有打印出任何内容并且第二个循环返回(即使我在手动 ssh 后在终端上复制并粘贴循环,它也能正常运行):

bash: -c: line 5: syntax error near unexpected token `virtualHostName.admin'

答案1

正如@Kamil Maciorowski 提到的,这看起来好像是引号的问题。

现在我只需要将每个单引号替换为“\”并在每个 $ 前面添加 \https://unix.stackexchange.com/questions/233938/ssh-meremote-script-with-a-for-loop-and-variables-problem-with-variable-e...

相关内容