サブフォルダーを作成し、マウントされたフォルダーにファイルを展開する必要があるbashスクリプトを作成しています。私の問題は、ルートとしてサブフォルダーを作成できないことです。スクリプトで次のコマンドを実行する必要があります。
su - UnknownUser -c "mkdir MAKEDir"
だから私の質問は、次のようなコマンドを実行するときにユーザー名のみを取得するにはどうすればよいですか
ls -l
ご意見ありがとうございます。
所有者のテキスト名には %U の形式で stat -c を使用し、所有者の uid には %u (またはグループの場合は %G/%g) を使用します。
stat -c %U <filename>
stat
コマンドは実装によって大きく異なりますが、次のように動作します
# GNU stat
# -c may be used in place of --format
$ stat --format %U file.ext
# BSD (Mac OS X, anyway) stat
$ stat -f %Su file.ext
「parent」が親ディレクトリの場合...
user=$(ls -ld ${parent} | awk '{print $3}')
sudo -u $user mkdir ${parent}/child1
sudo -u $user mkdir ${parent}/child2
sudo -u $user mkdir ${parent}/child1/grandchild1
sudo -u $user mkdir ${parent}/child1/grandchild2