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