ssh可以在bash shell中使用,可以';不能在shell文件中使用

ssh可以在bash shell中使用,可以';不能在shell文件中使用,bash,shell,ssh,amazon-ec2,Bash,Shell,Ssh,Amazon Ec2,我使用ssh登录EC2(Amazon) 它成功了,但是当我像这样将命令写入文件时: login.sh #! /bin/bash ssh -i /home/XXX/mykey.pem ec2-user@ec2-NN-NNN-NN-NN.us-foo-N.compute.amazonaws.com 在chmod+x login.sh之后 我运行脚本,它返回: ssh:无法解析主机名 那么如何解决呢,谢谢。有两个可能的原因: 脚本中的主机名有输入错误 脚本有一个CRLF而不是LF作为ssh行的结尾

我使用ssh登录EC2(Amazon)

它成功了,但是当我像这样将命令写入文件时:

login.sh

#! /bin/bash
ssh -i  /home/XXX/mykey.pem ec2-user@ec2-NN-NNN-NN-NN.us-foo-N.compute.amazonaws.com
在chmod+x login.sh之后 我运行脚本,它返回:
ssh:无法解析主机名


那么如何解决呢,谢谢。

有两个可能的原因:

  • 脚本中的主机名有输入错误
  • 脚本有一个CRLF而不是LF作为
    ssh
    行的结尾。在Windows系统上编辑文件并将其传输到Unix时,通常会发生这种情况。使用
    dos2unix
    修复脚本
  • #! /bin/bash
    ssh -i  /home/XXX/mykey.pem ec2-user@ec2-NN-NNN-NN-NN.us-foo-N.compute.amazonaws.com