シェルでグループを変更する

シェルでグループを変更する

十分簡単です。ユーザーfooがあります。 fooはfoo(main)、audio、A、B、およびグループに属します。一般的な

通常、ファイルは foo.foo 所有権で作成されます。

しばらく私はグループと一緒にfooファイルを作成したかったです。一般的な。基本的にこれが私が見る方法です。

Cache present group
Change group to *common*
Touch alpha
Touch beta 
...
Change group back.

アルファベータ(およびそれ以降のすべて)は、所有者fooが生成する必要があります。一般的な。どうすればいいですか?

PS:そうです。 bashとzshでこれをやりたいことに言及するのを忘れました。

ベストアンサー1

Bashやzshにはこの機能はありません。

電話してもいいnewgrp。これは新しいプロセスを開始する外部コマンドです。SHELL引数なしで環境変数で指定されたプログラムを実行します。

newgrp common <<EOS
touch alpha beta
EOS
touch belongs_to_original_group

新しいシェルが起動すると、newgrp元のシェルのシェル変数から継承されず、環境(エクスポート)変数からのみ継承されます。そこで行われたすべての割り当ては、そこでのみ適用されます。

おすすめ記事