aboutsummaryrefslogtreecommitdiff
path: root/bin/sue
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2016-08-09 17:15:40 +1200
committerTom Ryder <tom@sanctum.geek.nz>2016-08-09 17:20:10 +1200
commit9fb350dc7c8cc5259ef24e0cb097031179fab1d6 (patch)
tree839dd0b8ee3f5323b1cd6aefa22b605b99437d62 /bin/sue
parentMention nosls/sls flags in slsf(1) man page (diff)
downloaddotfiles-9fb350dc7c8cc5259ef24e0cb097031179fab1d6.tar.gz
dotfiles-9fb350dc7c8cc5259ef24e0cb097031179fab1d6.zip
Improve commenting/exit handling in binscripts
Diffstat (limited to 'bin/sue')
-rwxr-xr-xbin/sue11
1 files changed, 11 insertions, 0 deletions
diff --git a/bin/sue b/bin/sue
index d585e088..64d566f7 100755
--- a/bin/sue
+++ b/bin/sue
@@ -1,8 +1,17 @@
#!/bin/sh
# Run sudoedit(8) with an appropriate user on a set of files
+
+# Blank out the user variable
user=
+
+# Iterate over the given files
for file ; do
+
+ # Get the file's owner, or bail
file_owner=$(stat -c %U -- "$file") || exit
+
+ # Check that this file has the same owner as all previously checked files,
+ # if any
case $user in
"$file_owner"|'')
user=$file_owner
@@ -13,4 +22,6 @@ for file ; do
;;
esac
done
+
+# Run sudoedit(8) as the user that owns all the files
sudoedit -u "$user" -- "$@"