You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行ssh命令时$(hostname)返回旧主机名,如何获取新主机名?

问题原因与解决办法

你的命令里$(hostname)会被本地Shell提前解析,替换成本地主机名后再发送到远程执行,所以返回的是本地旧主机名,而非远程新设置的主机名。

可行解决方案

  • 用单引号包裹整个命令,避免本地Shell解析内部的命令替换:
ssh hostname 'echo "====$(hostname)===="'
  • 或者转义$符号,阻止本地解析:
ssh hostname echo "====\$(hostname)===="

以上两种方式都会让$(hostname)在远程主机的Shell中执行,从而获取到远程主机的新主机名。

内容的提问来源于stack exchange,提问作者Xvx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 02:23:09