如何使用 bash 配置文件功能进行远程连接并访问远程终端

如何使用 bash 配置文件功能进行远程连接并访问远程终端

我想bash function在本地(在 MacOS 上)编写一个,因此当我运行这个函数时,第一个命令是通过连接到 ubuntu 远程桌面ssh

简而言之:

    my_func () {
    ssh blah blah blah;
    echo $VARIABLE;
}

期望的输出是类似 的东西/home/ubuntu/path/to/directory,但我什么也没得到。所以我的印象是my_func只在本地有效。

PS 环境变量$VARIABLE是在~/.bashrc远程桌面中设置的。

答案1

如果我理解正确的话这应该可行:

my_func () {
    ssh user@ip echo '$VARIABLE'
}

或者如果你有更多命令你可以执行:

my_func () {
    ssh user@ip <<'EOF'
    echo $VARIABLE
    command2
    command3
EOF
}

您还可以(我最喜欢执行大量命令)将您的命令放在另一个文件中并执行以下操作:

my_func () {
    SOURCE_FILE='/path/to/file'
    cat "$SOURCE_FILE" | ssh user@ip
}

相关内容