gpt4 book ai didi

linux - 变量在远程服务器上仍然不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:28 25 4
gpt4 key购买 nike

我有这部分脚本,但我无法开始工作。到处搜索,但我一定在这里遗漏了一些东西。

export RULE=`cat iptables_sorted.txt` 
ssh hostname << EOF
for line in $RULE; do
echo \$line >> test.txt (I have tried with and without slashes, etc...)
done
exit
EOF

运行这部分脚本后,我得到

stdin: is not a tty
-bash: line 2: syntax error near unexpected token `103.28.148.0/24'
-bash: line 2: `103.28.148.0/24'

...这很奇怪,因为 iptables_sorted.txt 充满了 ip 范围(当我在本地运行它时,它有效)。

最佳答案

$RULE 中的换行符会导致问题。用空格替换它们:

RULE=$(< iptables_sorted.txt)
RULE=${RULE//$'\n'/ }
ssh hostname << EOF
for line in $RULE ; do
echo \$line >> test.txt
done
EOF

请注意,这不适用于包含空格的行。

关于linux - 变量在远程服务器上仍然不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33254538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com