我创建了一个 Linux bash 脚本来循环遍历我的所有服务器并显示指定帐户的主机名和密码到期日期(由用户输入)。我的问题是我无法让它显示在一行上。它工作正常,只在第 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 {} 'hostname; chage -l '$act' | grep "Password expires";'
任何有助于将主机名和更改信息显示在一行上的格式化帮助将不胜感激。
谢谢!
最佳答案
只需使用命令替换“$()”即可。它会吃掉换行符。
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");'
关于Linux 脚本将多行格式化为 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540073/