gpt4 book ai didi

linux - Bash for 远程服务器上的循环

转载 作者:太空宇宙 更新时间:2023-11-04 10:28:39 28 4
gpt4 key购买 nike

我正在尝试通过远程服务器上的 bash 脚本运行多个命令。具体来说,要在远程服务器上运行的 for 循环给我带来了问题。我怀疑这是因为我不知道如何正确转义字符或使用 $()。

下面是代码。

ssh (user)@(server) <<EOF
sudo su - (username)
whoami
'for e in $(`ls -lrt /usr/jboss/jbosseap | awk '{print $9}' | grep multichannel`);
do
echo "$e";
done'

出于显而易见的原因删除用户和服务器名称。只需专注于 for 循环。当我运行 for 循环命令行(没有 $())时,它工作正常。只是不确定如何将其嵌套在远程调用中。

非常感谢您提供的所有帮助!

最佳答案

如果您有一个试图通过 ssh 运行的复杂脚本,最好将该脚本放入一个文件中,然后将该文件通过管道传输到 ssh 中,例如:

cat remote_script.sh | ssh user@host

或:

cat remote_script.sh | ssh user@host sudo -u username

现在您不必担心 N 级转义。

关于linux - Bash for 远程服务器上的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40897989/

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