ユーザーの表示名を返すためのbashスクリプトを作成しています。コンソールでコマンドを実行すると、表示名が表示されます。私は、テキストファイルから入力を読み取るスクリプトを実行すると、私は表示名を取得しません。 [email protected]についてldapsearchをテキストファイルに出力
、表示名は次のようである: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