| Server IP : 202.131.107.107 / Your IP : 216.73.217.75 Web Server : Apache/2.4.58 (Ubuntu) System : Linux Webserver 6.8.0-146-generic #146-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 3 16:12:30 UTC 2026 x86_64 User : jm ( 1001) PHP Version : 8.3.36 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /snap/core20/current/sbin/ |
Upload File : |
#!/bin/sh -e
if test $# -eq 0
then
echo usage: $0 shellname '[shellname ...]' 1>&2
exit 1
fi
file=/etc/shells
# I want this to be GUARANTEED to be on the same filesystem as $file
tmpfile=${file}.tmp
otmpfile=${file}.tmp2
set -o noclobber
trap "rm -f $tmpfile $otmpfile" EXIT
if ! cat $file > $tmpfile
then
cat 1>&2 <<EOF
Either another instance of $0 is running, or it was previously interrupted.
Please examine ${tmpfile} to see if it should be moved onto ${file}.
EOF
exit 1
fi
# this is supposed to be reliable, not pretty
for i
do
REALDIR="$(dirname $(realpath -m $i))/$(basename $i)"
for j in "$i" "$REALDIR"
do
grep -v "^${j}$" $tmpfile > $otmpfile || true
mv $otmpfile $tmpfile
done
done
chmod --reference=$file $tmpfile
chown --reference=$file $tmpfile
mv $tmpfile $file
trap "" EXIT
exit 0