[英]How can I print two commands on remote server in the same line?
当我尝试在控制台中打印此命令的输出时ssh 192.168.1.120 'df -h | grep sda2; hostname;'
ssh 192.168.1.120 'df -h | grep sda2; hostname;'
我明白了
/dev/sda2 23G 8.0G 14G 38% /
localhost
虽然我想看这个
/dev/sda2 23G 8.0G 14G 38% / localhost
虽然我可以用以下方式在同一行打印这些
result=`ssh 192.168.1.120 'df -h | grep sda2; hostname;'`
echo $result
这不是我想要的,因为这种方式不会保留字符之间的实际空格。
有没有办法让它工作?
通常 ppl 只是使用这样一个事实,即命令替换会删除尾随的换行符。
ssh 192.168.1.120 'echo $(df -h | grep sda2) $(hostname)'
在您的情况下,您也可以对其进行后处理。
ssh ... | paste -sd' '
ssh ... | tr -d '\n'
从一个命令中删除换行符:
ssh ... 'df -h | grep sda2 | tr -d "\\n" ; hostname'
更喜欢$(...)
不是反引号 `。 使用 shellcheck 检查您的脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.