【发布时间】:2019-02-15 18:40:07
【问题描述】:
我正在努力显示用户的显示名称、登录日期和时间,以及他们的默认 Bash shell。我可以让每一个都打印,但我找不到让它逐行显示的方法。
这是我到目前为止所尝试的。我曾尝试使用该管道,但到目前为止,将它们都放入变量中是最接近的方法。
#!/bin/bash
x="$(who | tr -s [:space:] | cut -d' ' -f1,3,4)"
y="$(cat /etc/passwd | tr -s [:print:] | cut -d':' -f7)"
echo $x $y
我必须为每个用户显示这个:
username date of login time of login default bash shell
更新: 其他问题的答案将单个字符串组合在一起,这个问题是询问如何将 WHO 命令的多行与用户默认的 bash shell(同样是多行)组合起来。这就是我在这里问的原因。
我的示例输出是显示用户名、登录时间和登录日期,以及每个登录用户的默认 bash shell,就像 who 命令所做的那样(所以基本上我想使用 who 命令,删掉什么我想退出它,然后将用户的默认 bash shell 添加到末尾)。我有两个命令给我,但我需要将默认的 bash shell 添加到“who”命令显示的每个用户上。现在程序会打印出所有登录的用户,然后在打印完所有用户后,它会打印默认的 shell。
【问题讨论】:
-
请在您的问题中添加示例输入和该示例输入所需的输出。
-
您能否详细说明“我找不到让它逐行显示”的意思?
-
你不能期望两个脚本的输出会神奇地对齐。
-
如果可以,答案是
paste。这可能是一个足够常见的第一个练习,我们应该能够找到重复项。
标签: bash