在bash中通过ssh在远程服务器上运行命令的更快方法



目前我正在使用一台没有内置手指命令的本地机器,我们也没有安装它的权限。但是,有一个远程服务器安装了它,可以以这种方式使用。我使用手指命令来获取用户的名字和姓氏。下面是bash中的代码:

#!/usr/bin/env bash
NAMES=("ssmith" "jnicol" "ahumph" "nkidma" "bbanne")
for name in ${NAMES[@]}; do
theName=`ssh -qX 123.45.67.89 finger $name | awk 'NR==1{if($7!="???") print $7, $8}'`
arr+=("$theName") #Appending name returned from command to global array
done

上面的代码工作,但它是超级。有没有更简单的如何SSH到远程服务器运行命令,并在一次尝试中获得所有用户的名字和姓氏列表,然后将所有这些附加到如上所示的数组中?系统中有数百个用户,为每个用户执行ssh到远程服务器并不是最优的。

如有任何帮助,不胜感激。

大家,找到了这个问题的答案。我可以在我的本地机器上执行以下操作,仍然可以获得用户的姓和名。

FULLNAME=$(getent passwd $USER | cut -d : -f 5)

谢谢所有。

最新更新