Linux 输出中出现奇怪的行

Linux 输出中出现奇怪的行,linux,bash,Linux,Bash,所以我的脚本中有一行基本上是: echo "********************" echo "AVAILABILITY" echo "********************" ssh -p22 -q -o "BatchMode=yes" -o "ConnectTimeout=5" user@ipaddress echo "2>&1" && echo 'Available' || echo 'Not, available' | |的后半部分输出良好 例: 然

所以我的脚本中有一行基本上是:

echo "********************"
echo "AVAILABILITY"
echo "********************"
ssh -p22 -q -o "BatchMode=yes" -o "ConnectTimeout=5" user@ipaddress echo "2>&1" && echo 'Available' || echo 'Not, available'
| |的后半部分输出良好

例:

然而,前半部分输出了这个令人讨厌的空行:

********************
AVAILABILITY
********************

Available
我试着用管道把整条线连接到sed和tail,我试着在第一次回音后插入它们,但这奇怪的空行还是出现了

您的命令(简化):


第一个
echo
在远程计算机上运行,并且
“2>&1”
将该echo命令的stderr重定向到stdout<代码>回显无参数输出换行符。然后,该换行符作为
ssh
命令的标准输出返回,并显示在本地shell中。如果
ssh
命令失败(即不可用),则远程
echo
命令永远不会运行,换行符也不会出现。

我可以使用echo-n“$(2>&1)”来抑制新行


感谢Josh Jolly帮助我理解为什么会出现“空白”行。

那么给echo一些参数会自动否定新行吗?或者我可以给它一个特定的参数。或者只是不在远程机器上运行
echo
。如果不需要输出,请使用
/bin/true
或(如果必须!)
cat/dev/null
或其他方法。
********************
AVAILABILITY
********************

Available
ssh user@ipaddress echo "2>&1" && echo 'Available' || echo 'Not, available'