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

标签 linux bash

我创建了一个 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/

相关文章:

linux - 在bash中使用sed写入变量指定的行号

bash - 如何在 YAML 中使用 'script:' 中的多行命令?

bash - 用于检查 glob 模式是否与任何文件匹配的 shell 脚本

linux - 使用数字排序合并 pdf 文件

javascript - 是否有可能以某种方式缩短 switch 语句?也许有一个循环?

linux - Shell 脚本不会以 root 身份在 cron 中运行

linux - 在非 HFS 文件系统上使用资源分支处理文件

linux - 如何对 SD 卡设置写/读保护?

c++ - 错误 : ‘int pow(double, int)’ conflicts with a previous declaration int pow(double a, int n) {

linux - 程序快速将数据转储到标准输出。寻找在不被淹没的情况下编写命令的方法