"mv"を使用してファイルを移動するときに、ディレクトリのsetgidビットを介してグループの変更をどのように適用しますか?

"mv"を使用してファイルを移動するときに、ディレクトリのsetgidビットを介してグループの変更をどのように適用しますか?
$ mkdir test
$ chown gtgteq:users test
$ chmod g+s test
$ touch test/a
$ touch b
$ mv b test/
$ ls -l test
total 0
-rw-r--r-- 1 gtgteq users  0 a
-rw-r--r-- 1 gtgteq gtgteq 0 b

モバイルファイルグループ(b)を自動的に変更するには?

答え1

最後に、bash関数を書いた。

mvs() {
  local dest
  if [[ $# -ne 2 ]]; then
    return 1
  fi
  if [[ -d $2 ]]; then
    dest="$2/$(basename $1)"
  else
    dest="$2"
  fi
  mv "$1" "$2" || return $?
  chown "$USER":users -R "$dest"
  chmod g+rw -R "$dest"
  find "$dest" -type d -exec chmod g+xs {} ';'
}

関連情報