我正在尝试编写一个Bash脚本,将SSH插入机器并创建一个目录。长期目标有点复杂,但现在我开始简单了。然而,简单来说,我看起来不太可能得到它。这是我的代码:
#!/bin/bash ssh -T tunneluser@111.222.333.444 <<EOI # Fix "TERM environment variable undefined" error. TERM=dumb export TERM # Store todays date. NOW=$(date +"%F") echo $NOW # Store backup path. BACKUP="/backup/$NOW" [ ! -d $BACKUP ] && mkdir -p ${BACKUP} echo $BACKUP exit EOI
它运行没有任何明显的错误。但是,回显的$ NOW和$ BACKUP变量显示为空,并且/ backup目录未创建。我该如何解决?
本地主机上的shell正在$ NOW和$ BACKUP上进行变量替换,因为“EOI”未被转义。更换
ssh tunneluser@111.222.333.444 <<EOI
同
ssh tunneluser@111.222.333.444 <<\EOI