26 lines
450 B
Bash
Executable file
26 lines
450 B
Bash
Executable file
#!/usr/bin/sh
|
|
|
|
set -e
|
|
|
|
edit_directory="$HOME/.cache/edit/"
|
|
|
|
filehash=$(readlink -fn "$1" | md5sum | awk '{ print $1 }')
|
|
filedirectory="$edit_directory/$filehash/"
|
|
|
|
mkdir -p $filedirectory
|
|
|
|
filepath=$(realpath -s "$filedirectory/$(basename $1)")
|
|
|
|
user=$(id -un)
|
|
group=$(id -gn)
|
|
|
|
echo "Editing $1 in $filepath as $user:$group"
|
|
|
|
sudo cp "$1" "$filepath"
|
|
sudo chown $user:$group "$filepath"
|
|
|
|
$EDITOR "$filepath"
|
|
|
|
sudo cp "$filepath" "$1"
|
|
|
|
rm "$filepath"
|