我在写一个bash脚本来返回用户的显示名称。当我在控制台上运行命令时,我得到显示名称。当我运行从文本文件读取输入的脚本时,我没有显示名称。ldapsearch输出到文本文件
对于[email protected],显示名称是这样的:Khbsd Muweu
输入文本文件(names.txt中)包含以下数据:
"[email protected]"
"[email protected]"
"[email protected]"
该脚本是如下:
while IFS='' read -r line || [[ -n "$line" ]]
do
echo "$line"
ldapsearch -v -LLL -Y GSSAPI -H ldap://padns1.abc.com -b "dc=abc,dc=com" userPrincipalName="$line" displayName -Q | grep "displayName: .*$" | awk '{print $2,$3}'
done < "$1"
这个脚本保存为fnames.sh和脚本运行为:
bash fnames.sh names.txt
echo“$ line”打印文本文件中的内容,但ldapsearch命令不起作用。有人能让我在哪里我错了吗? 我想将命令的输出(只是显示名称)存储在文本文件中。我怎样才能做到这一点?
你有没有尝试在你的脚本中添加'set -x'?这是一种快速验证您的脚本是否符合您的预期。 – eduffy