Linux脚本将多行格式化为一行

Linux脚本将多行格式化为一行,linux,bash,Linux,Bash,我已经创建了一个LinuxBash脚本来循环我的所有服务器,并显示指定帐户(由用户输入)的主机名和密码过期日期。我的问题是我不能让它显示在一行上。它工作正常,只需在第1行显示主机名,然后在第2行显示帐户信息,我希望它们都在一行 代码: 如能提供任何格式帮助,使主机名和更改信息显示在一行中,将不胜感激 谢谢 只需使用命令替换“$()”。它会吃掉新线 echo "Enter the account name you want to check: " read act echo "you ente

我已经创建了一个LinuxBash脚本来循环我的所有服务器,并显示指定帐户(由用户输入)的主机名和密码过期日期。我的问题是我不能让它显示在一行上。它工作正常,只需在第1行显示主机名,然后在第2行显示帐户信息,我希望它们都在一行

代码:

如能提供任何格式帮助,使主机名和更改信息显示在一行中,将不胜感激


谢谢

只需使用命令替换“$()”。它会吃掉新线

echo "Enter the account name you want to check: "

read act

echo "you entered: $act - searching for account information"

cat /home/admin/me/linuxhosts | xargs -i ssh {} 'echo $(hostname; chage -l '$act' | grep "Password expires");'

除非您的实现很奇怪:

grep "Password expires"
应该是

grep "Password Expires"
如果困难在于返回正确的行,则可以解决此问题:

sudo chage $user -l | grep "Password Expires"
输出:

Password Expires:       Never

正如在另一个答案中一样,用
$(…)
反勾号括起来将抑制但不会消除换行符

这正是我想要的,我以前尝试过,但显然()放在了错误的位置,并假设它不是有效的解决方案。。。谢谢真的是密码过期了,小写字母e/耸耸肩。我检查了chage-l命令的结果,然后仅仅因为密码过期而变灰,它是小写的e.Wow,令人惊讶的是它在不同的实现中有所不同。很抱歉给你带来了困惑。
Password Expires:       Never