Linux 无法在旧版in-Shell脚本中执行echo

Linux 无法在旧版in-Shell脚本中执行echo,linux,shell,ssh,echo,Linux,Shell,Ssh,Echo,下面是我的代码,我能够获得ssh连接。但在那之后,它什么也没做 log_time="date +%F\%T" PR_ONE="username@hostname" file="/home/log.txt" to_list="myemail" echo "`$log_time`" >> $file `ssh $PR_ONE "echo df -hP | grep fs1 | awk '{print $4}'"` >> $file cat $file | mailx -s "

下面是我的代码,我能够获得ssh连接。但在那之后,它什么也没做

log_time="date +%F\%T"
PR_ONE="username@hostname"
file="/home/log.txt"
to_list="myemail"
echo "`$log_time`" >> $file
`ssh $PR_ONE "echo df -hP | grep fs1 | awk '{print $4}'"` >> $file
cat $file | mailx -s "Disk space usages" $to_list
我收到了电子邮件,但只有
$log\u time
。我知道我在
ssh
行中的引用中做了一些错误的事情

我不熟悉shell脚本。

尝试以下方法:

echo "df -hP | grep fs1 | awk '{print $4}'" | ssh -tt $PR_ONE >> $file
或者更喜欢这个:

ssh -tt $PR_ONE << EOF >> $file
df -hP | grep fs1 | awk '{print $4}'
EOF
ssh-tt$PR\u ONE>$file
df-hP | grep fs1 | awk{print$4}
EOF

更喜欢使用
$(…)
而不是backquote awk命令后的
i
是什么?对不起。我的错。实际上这是一个打字错误。第一个命令起作用了。但是我收到了一条警告消息,因为在执行过程中,
伪终端将不会被分配,因为stdin不是终端。
。另外,我得到的是
/dev/mapper/VolGroup01-fs2vol7.4T 6.4T 593G 92%/net/si-091l/fs1
,但我想要的是
$4
,它是
593G
单独使用
ssh-tt
强制伪tty分配