BASHから各ユーザーのホームディレクトリにファイルをコピーする方法は?

BASHから各ユーザーのホームディレクトリにファイルをコピーする方法は?

各ユーザーのホームディレクトリにファイルをコピーしようとしています。理想的には、ファイルはchown / chgrpでなければなりませんが、実際には私が要求するものではありません。私の本当の質問は、ワイルドカードを使用して各サブディレクトリを選択する方法です。

$ touch testfile
$ sudo cp testfile /home/*/

これはファイルを現在のユーザーのディレクトリに正常にコピーしますが、他のすべてのユーザーについては

cp: omitting directory '/home/user2/'
cp: omitting directory '/home/user3/'

など。ご回答ありがとうございます。

ベストアンサー1

cp複数のターゲットは許可されていないため、ループを直接提供する必要があります。やりたいことと直接同等のもの

for homedir in /home/*; do sudo cp testfile "$homedir"; done

一般的な注意:ユーザー名にスペースがないと仮定し、ホームディレクトリがまったくのディレクトリであるとします/home。それ以外の場合は、ホームディレクトリの場所をから取得する必要があります/etc/passwdが、これにはシステムユーザーが含まれるため、十分に高いUIDとユーザーUIDの開始位置は分布によって異なります。

おすすめ記事