【问题标题】:mkdir -p over SSH bashmkdir -p 通过 SSH bash
【发布时间】:2017-03-15 23:38:30
【问题描述】:

我有一个小测试脚本如下;

TESTDIR="$HOSTNAME"
ssh user@server.com "\$TESTDIR"
mkdir -p ~/$TESTDIR/test
exit

bash -x 的输出是;

+ TESTDIR=ndx
+ ssh user@server.com '$TESTDIR'
+ mkdir -p /home/user/ndx/test
+ exit

但在远程服务器上,没有目录存在?

【问题讨论】:

  • 您正在本地运行 mkdir/exit。它们不会通过 ssh 链接发送,并且 ssh 命令将阻塞,直到远程 shell 关闭。到达 mkdir 命令时,ssh 已退出并且链接已关闭。 ssh ... -c 'command; to -execute; remotely' 是你想要的。
  • 请问可以举个例子吗?

标签: ssh mkdir


【解决方案1】:

如果你有一个 pem 文件来 ssh 作为身份验证,请使用以下

ssh -i your-key.pem user@ip_addr "mkdir -p /your_dir_name/test"

【讨论】:

    【解决方案2】:

    ssh的最后一个参数是命令你要在远程主机上执行:

    TESTDIR="$HOSTNAME"
    ssh user@server.com "mkdir -p ~/$TESTDIR/test"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-01
      • 2014-09-11
      • 2011-01-23
      • 1970-01-01
      • 2011-12-19
      • 2012-07-14
      • 1970-01-01
      • 2014-05-09
      相关资源
      最近更新 更多