Unixのforループとエコ

Unixのforループとエコ

ID 101のすべてのユーザーを一覧表示するシェルスクリプトを作成しようとしています。

       #!/bin/bash
       who="$(who | cut -d ' ' -f 1 | sort -u )";                                 
       #Save the output of who
       for user in ${who}; do                          # Iterate over $@
          if [ $(echo id -g $user) ==  "101" ] ; then
             echo "Got it";
          fi
       done;

スクリプトを実行すると、「行4:[:引数が多すぎます」というエラーが発生します。どこでミスをしたのかよくわかりません。

ベストアンサー1

ただ視聴してみてはいかがでしょうか/etc/group

awk -F: '$3==101 { print $4 }'

getentコンソールで利用可能な場合は、次の手順を実行してリストをインポートして/etc/passwd噛むことができます。

awf -F: '{print $1}' <(getent group 101)

おすすめ記事